用VS2015编译pjsip的工程pjproject-vs14

本文详细介绍了如何从源码编译PJProject,并集成FFmpeg、SDL、OpenH264等多媒体组件,包括配置环境、下载源码、添加依赖路径及解决编译问题的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

复制代码

 1 #ifndef __CONFIG_SITE_H__ 
 2 #define __CONFIG_SITE_H__
 3 
 4 #define PJMEDIA_HAS_VIDEO           1
 5 #define PJMEDIA_HAS_OPENH264_CODEC  1
 6 #define PJMEDIA_HAS_LIBYUV          1
 7 #define PJMEDIA_VIDEO_DEV_HAS_SDL   1
 8 #define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1
 9 #define PJMEDIA_HAS_FFMPEG          1
10 
11 #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 映像是不安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值