先去官网下载最新的源码包,我用的版本是2.7.1 。

将源代码解压后,在路径:pjproject-3.7.1\pjlib\include\pj 中创建新文件config_site.h,内容如下:

 #ifndef __CONFIG_SITE_H__ 
2 #define __CONFIG_SITE_H__ #define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_OPENH264_CODEC 1
#define PJMEDIA_HAS_LIBYUV 1
#define PJMEDIA_VIDEO_DEV_HAS_SDL 1
#define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1
#define PJMEDIA_HAS_FFMPEG 1 #endif
  •  ffmpeg

去ffmpeg的一个编译站点https://ffmpeg.zeranoe.com/builds/ 下载最新的开发版本,我下载的是3.4.1 。

将它解压到pjproject-3.7.1下,ffmpeg的include和lib目录应该是在pjproject-3.7.1/ffmpeg-3.4.1-win32-dev下。

  • SDL

去SDL官网https://www.libsdl.org/download-2.0.php下载SDL的编译版本,我下载的是2.0.7

将它解压到pjproject-3.7.1下,SDL的include和lib目录应该是在pjproject-3.7.1/SDL2-2.0.7下。

  • OpenH264

去OpenH264官网下载源码,具体编译方法请参考另一帖《Windows下用VS2015+MSYS编译OpenH264》。

将源码解压到pjproject-3.7.1下,按照帖子里的方法去编译即可。编译完成后,openh264.lib的路径是在pjproject-3.7.1/openh264-master下。

  • baseclasses

这个包用来生成strmbasd.lib和strmbase.lib,代码来源于Window 7 SDK,可以从这个链接下载https://www.microsoft.com/en-us/download/details.aspx?id=18950

将ISO文件加载到虚拟光驱,但你不必全部安装,只需要将setup下的WinSDKSamples安装即可,之后就可以在

C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses

中找到这个工程。

但事实上,pjproject-3.7.1中已经自带了这个源码,源码位置在pjproject-3.7.1\third_party\BaseClasses中,编译结果在pjproject-3.7.1\third_party\lib下。

可根据具体的编译需要使用。

-----------------------------------------------------------------------------------------------------------

至此,需要的编译环境基本上都有了,在开始编译前,还要修改下pjproject-vs14解决方案中的一些配置:

要在pjmedia、pjmedia-codec、pjmedia-videodev、pjsua这几个工程中中添加ffmpeg、SDL、OpenH264的include或lib路径。

右键点击工程->属性->配置中选择“所有配置”->C/C++->常规->附加包含目录中添加include路径;

右键点击工程->属性->配置中选择“所有配置”->链接器->常规->附加库目录中添加lib路径。

最后一个关键点是pjsua工程,要在链接器->输入->忽略特定默认库中添加libcmt.lib(release版本)或libcmtd.lib(debug版本),还要在链接器->命令行->其他选项中添加/SAFESEH:NO,忽略一个错误警告:error LNK2026 模块对于 SAFESEH 映像是不安全的。

That's all.

用VS2015编译pjsip的工程pjproject-vs14的更多相关文章

  1. ubuntu16.04 配置opensips服务器并编译pjsip测试

    一.版本相关 1) ubuntu版本: 16.04 2) opensips版本:2.1.2 3) pjsip版本 :2.5.5 4) ffmpeg版本:3.3.4 5) sdl版本:2.0 6) vs ...

  2. Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)

    Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...

  3. 用VS2015编译sqlcipher

    简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌 ...

  4. [转][JSBSim]使用VS2015编译JSBSim

    转自csdn原文:https://blog.csdn.net/yu_lei_/article/details/81463187 请大家去看原文,原文有图片和资源,本文仅供本人参考 权威参考:http: ...

  5. Windows下 VS2015编译RocksDB

    VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式.Roc ...

  6. Windows下 VS2015编译ForestDB

    VS2015编译ForestDB ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树.由 Couchbase 缓存和存储团队开发. 1.下载forestdb源码 ...

  7. 使用vs2015编译、部署ssd-caffe(weiliu89版,CPU模式)

    前因项目所需,须训练一个快速模型以实现目标物体的实时检测.历经多次实践,发现MobileNetSSD网络符合要求,故在本人工作PC上部署weiliu89版本的ssd-caffe以期用之训练项目要求之模 ...

  8. VS2015编译VLC2.2.1(under WIN7-64)<转>

    概述: 感谢https://github.com/sunqueen/vlc-2.2.1.32-2013 这个工程,我的工作基本上都是基于它,我只是觉得他的工程设置不够清晰,重新做了一次.区别在于我的工 ...

  9. caffe搭建--caffe- win10 vs2015 编译(支持GPU)--注意在cmake的时候需要根据情况仔细修改配置

    --http://blog.csdn.net/longji/article/details/60964998 注意: 在cmake的时候需要根据情况仔细修改配置,比如,如果gpu的能力不足3.0的话, ...

随机推荐

  1. DevExpress中GridControl的使用笔记(转)

    转自:https://www.jianshu.com/p/badc1d2f0841 注:练习例子为: DxApplication1 -> XtraForm1 , 例子上传到本博中 2019.4. ...

  2. HanLP vs LTP 分词功能测试

    文章摘自github,本次测试选用 HanLP 1.6.0 , LTP 3.4.0 测试思路 使用同一份语料训练两个分词库,同一份测试数据测试两个分词库的性能. 语料库选取1998年01月的人民日报语 ...

  3. 线程中AutoResetEvent与ManualResetEvent的区别

    线程之间的通信是通过发信号来进行沟通的.. ManualResetEvent发送Set信后后,需要手动Reset恢复初始状态.而对于AutoResetEvent来说,当发送完毕Set信号后,会自动Re ...

  4. TypeScript安装备忘:npm proxy设置

    如果使用了代理网络,因为npm无法自动识别Internet代理,则需要手动设置npm代理才能下载包. 设置命令:    npm config set proxy http://proxyhost:pr ...

  5. ORACLE数据库自动备份压缩的批处理脚本 rar 7z

    使用7z的版本: @echo offset filename="d:\backup\dbname_%date:~0,10%"set zipfile="d:\backup\ ...

  6. cassert(assert.h)——1个

    http://www.cplusplus.com/reference/cassert/assert/ 声明:void assert (int expression); #include <ios ...

  7. js中正则表达式使用

    js中使用正则表达式,除了了解正则表达式基本的匹配规则外.还需要了解下面的基本的知识: python,js,groovy这些脚本语言都有在线调试的网站,可以在线测试是否有语法错误,用起来也很方便. v ...

  8. python之路——17

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1.迭代器2.生成器3.内置函数 1.学习55个 2.带key的,max min filter map ...

  9. three.js使用base64 图片创建Texture纹理

    下面使用的是literallycanvas绘图,然后获取绘图结果为base64内容 var lc = LC.init( document.getElementById('canvas-output') ...

  10. SnapKit配置过程记录

    第一步,从https://github.com/SnapKit/SnapKit下载源码的ZIP包,解压出来是这个样子的: 第二步,新建一个iOS工程(Swift版本的),并将SnapKit-devel ...