pjproject编译方法与相关错误解决
来源:互联网 发布:判断int类型数据长度 编辑:程序博客网 时间:2024/06/05 20:05
编译环境:WIN10+VS2017+pjproject-2.7.1
一、pjproject源码下载
下载地址:http://www.pjsip.org/
二、相关参考
感谢该博客:https://www.cnblogs.com/chaoyazhisi/p/6143734.html
官方文档:https://trac.pjsip.org/repos/wiki/Getting-Started/Windows#Next:Usingpjprojectlibrariesforyourownapplication
三、编译之前
1、pj配置,通常直接复制并重命名config_site_simple.h为config_site.h
.\pjlib\include\pj\config_site.h
2、包含SDL库、FFMPEG库则在这个文件后加上
#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
3、下载SDL库、FFMPEG库
在pjproject源码lib文件夹拷贝入相关lib文件,注意x86和x64分别对应不同的文件。
在pjproject源码新建include文件夹,下面分别建立两个文件夹ffmpeg、sdl。
将ffmpeg的inlude头文件拷贝到ffmpeg文件夹下
将sdl的include头文件拷贝到sdl文件下
4、打开pjproject-vs14.sln的解决方案。
对项目 pjmedia_videodev 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\sdl;
对项目 pjmedia_videodev 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
对项目 pjmedia 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\ffmpeg;
对项目 pjmedia 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
对项目 pjmedia_codec 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\ffmpeg;
对项目 pjmedia_codec 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
对项目 pjsua 的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\ffmpeg;
对项目 pjsua的 VC++目录 -> 包含目录 添加 ;$(MSBuildStartupDirectory)\include\sdl;
对项目 pjsua 的 VC++目录 -> 库目录 添加 ;$(MSBuildStartupDirectory)\lib;
5、在解决方案->属性中选择启动项为:pjsua6、调试运行
7、错误提示:error LNK1281: 无法生成 SAFESEH 映像
解决办法:pjsua鼠标右键属性中->连接器->命令,在那里输入: /SAFESEH:NO点击确定再次编译,成功解决问题
如图:
8、重新调试运行
9、提示缺少SDL2.dll、avutil-55.dll等dll文件。
解决办法:把相关的.dll拷贝至.\pjproject-2.7.1\pjsip-apps\build
相关资源下载:http://download.csdn.net/download/acliyu/10153470
10、再重新调试运行,即可运行成功。
成功编译项目资源下载:http://download.csdn.net/download/acliyu/10153450
成功截图:
- pjproject编译方法与相关错误解决
- android 编译STL模块相关错误解决
- android 编译STL模块相关错误解决
- xcode 编译库 相关错误 解决
- phpmyadmin相关配置与错误解决
- 解决Wince6.0编译错误方法
- Linux下编译pjproject-2.6并运行例程simple_pjsua
- centos6.5 编译安装lamp以及相关错误的解决
- freeswitch里面的esl子目录相关错误解决(编译、运行)
- Eclipse生成javadoc方法与错误解决
- Eclipse生成javadoc方法与错误解决
- maven 相关错误解决
- 解决Pingexample编译错误
- MTK编译错误解决?
- 编译内核错误解决
- android 编译错误解决
- ecos编译错误解决
- 解决busybox编译错误
- 持续集成之Jenkins安装部署
- ctf笔记2- 加密与解密
- Opengl 基础1
- Hibernate Validator5.4.2--创建自定义约束
- 微程序控制器之概述
- pjproject编译方法与相关错误解决
- C语言实现无头节点链表
- 猜数游戏、随机数、time函数与循环
- iOS 新版FFmpeg+opengl播放yuv+openal 快放 慢放 视频播放器
- 长按弹出一个popupwindow
- 韩国DRAM双雄称霸全球 两厂Q3市占率合计72.4%
- 关于食品企业的健康发展,重视品牌概念是关键
- 【LeetCode算法练习(C++)】Count and Say
- Spark 常用算子