MicroSIP-3.21.3+pjproject-2.13.1+ opus-1.3.1+VS2019
本文记录了我通过VS2019编译MicroSIP-3.21.3开源项目的过程。
Microsip:MicroSIP source code
pjproject:Download PJSIP - Open Source SIP, Media, and NAT Traversal library
opus:Downloads – Opus Codec (opus-codec.org)
下载并解压后如图:

用vs 2019将microsip的平台工具集改成VS2019,然后编译。

报错缺失pjsua-lib/pjsua.h

pjsua-lib 是pjproject生成了,因此去编译pjproject。
用vs2019打开pjproject-2.13.1解决方案,并将所有项目的平台工具集改成VS2019,然后编译。
报错缺失config_site.h

找错,如下图,提示config_site.h这个头文件的自己创建

参考config_site_sample.h模板,创建一个最小集:

重新编译
依然报错找不到config_site.h

找到你创建的头文件,将他移动到如下图目录

重新编译,成功

此时关于pjproject需要提供的库、头文件,就算是编译好了。
回头继续搞microsip,首先去microsip目录下创建third-party目录,用来存放需要引入的头文件及类库

打开pjproject编译后的目录,将pjsua-lib相关的头文件、lib复制到上面创建的目录下
这是头文件

复制到这里

这是pjproject中的类库

放到这里

接下来配置microsip的lib引用和依赖

包含目录,是头文件所在的位置,库目录是lib文件所在的位置,这里配置我们创建的third-party、third-party/lib


编译,之前缺少pjsua-lib/pjsua.h的错误解决了,但是又有如下错误

继续从pjproject中找到pjsip.h搬过来,如下图,将所有的头文件都弄过来。

然后去编译,提示缺

好,继续搬

继续编译,又报这个

好的,继续找,继续搬

继续编译,报这个

继续搬

继续编译,报这个

继续搬

继续编译,报这个

此时,用vs2019将opus项目打开,进行编译...
找到opus项目的解决方案

打开后编译,成功后,将lib复制过来

继续编译microsip,报这个

进入link阶段了,接下来就是缺失的库的添加了,先把这个库弄过来

重命名libpjproject-i386-Win32-vc14-Debug.lib->libpjproject-i386-Win32-vc14-Debug-Static.lib
继续编译,报这个


pjmedia_get_vid_subsys(),这个找不到

打开pjproject


生成pjproject,将这些库搬过来

连接其中加入这些


替换一遍

重新编译microsip,成功...

MicroSIP-3.21.3+pjproject-2.13.1+ opus-1.3.1+VS2019的更多相关文章
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
		从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ... 
- 全网络最正确的让 Linux 开机进入字符界面的方法及设置 FrameBuffer 分辨率的方法
		引言 这个标题有点长,是为了在标题中就把问题说清楚,以便搜索引擎能够把有需要的朋友准确地带到我这里来.目前在网络上,很多关于 Linux 方面的知识是过时的和错误的.我标题中指出的两个知识点就是其中的 ... 
- 跨域之jsonp
		我们都知道使用<script>标签可以引入外部的JS文件,即使这个JS文件来自于其他的网站,比如我们引用存放在网络服务器上的jQuery框架.在这个过程中,我们已经实现跨域访问.像< ... 
- EChart数据的异步加载和更新
		ECharts是国内开发一款图标插件,在网页中我们经常要用到图标显示,直接引用十分方便. 直接到ECharts主页调用插件 <!DOCTYPE html> <html style=& ... 
- python数据类型详解
		目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='th ... 
- Objective-C中把URL请求的参数转换为字典
		上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ... 
- Linux Tomcat 6.0安装配置实践总结
		系统环境: Red Hat Enterprise Linux Server release 5.7 (Tikanga) 64位 Tomcat下载 从官方网站 http://tomcat.apache ... 
- SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
		有台数据库服务器(开发服务器),开发人员邮件告诉我,SSMS连接不了这台服务器,远程登录后,发现SQL SERVER的服务停止了,启动服务时报错,服务启动不了.检查错误日志发现下面一些信息 2015- ... 
- 软件工程(FZU2015)赛季得分榜,第11回合(beta冲刺+SE总结)
		目录 第一回合 第二回合 第三回合 第四回合 第五回合 第6回合 第7回合 第8回合 第9回合 第10回合 第11回合 增补作业 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分:b ... 
- 【Beta】第5.5次任务发布
		PM #100 日常管理&dev版宣传&设计报告管理后台. 后端 #101 完成收藏功能 完成管理员权限表的生成和接入(按位压缩权限表) 验收条件:收藏功能能够正常使用.能够区分常规用 ... 
随机推荐
- Centos安装ELK
			目录 安装Elastic Search 安装 Java 安装Elastic Search 修改配置 开放端口 访问地址 相关命令 安装elasticsearch-head插件 安装Git 安装node ... 
- 《逆向工程核心原理》之DLL注入
			DLL注入 DLL注入指的是向运行中的其他进程强制插入特定的DLL文件.从技术细节来说,DLL注入命令其他进程自行调用LoadLibrary() API,加载(Loading)用户指定的DLL文件.D ... 
- NSSCTF-[羊城杯 2021]签到题
			(脑洞题 gif放在stegsolve,分离gif 大胆猜测! 图一 28准则 图二 太极八卦阵 8 图三 三十而立 30 图四 北斗七星 7 图五 四个人 4大才子 图六 这个是歼-20 图七 两只 ... 
- NumPy(1)-常用的初始化方法
			一.NumPy介绍 NumPy是Python中科学计算的基础包,它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学.逻辑.形状操作 ... 
- 帮老娘导入SF信息
			转自自己的QQ空间 2023/1/3 老娘公司要统计Excel 简单说就是把顺丰上面寄的85个快递填到表里去 再把没有寄的从那两张表加起来130多个人里面揪出来单独填表 有些企业的Excel就是个灾难 ... 
- 反射(Java Reflection)
			Java反射机制概述 Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法. ... 
- MarkdownQuote:简化 Markdown 中的代码引用!
			MarkdownQuote:简化 Markdown 中的代码引用! 这是 SourceCodeTrace 项目之一,通过在 IDE 中提供一种便捷的方式,快速复制包含代码来源 Markdown 代码块 ... 
- 1.简述Hibernate的工作原理。
			(1).首先,Configuration读取Hibernate的配置文件和映射文件中的信息,即加载配置文件和映射文件,并通过Hibernate配置文件生成一个多线程的SessionFactory对象: ... 
- 部署  rsyslog 日志服务
			ubuntu 服务端 + Centos 客户端 参考文档: ubuntu 20.04 搭建 rsyslog 服务器 CentOS7下搭建Rsyslog Server记录远程主机系统日志 
- ch-manager.sh
			[root@dev-clickhouse1 ~]# cat ch-manager.sh #!/bin/bash ch_arr=(ch1-shard1-main ch1-shard2-sub ch2-s ... 
