IOS PJSIP源码编译
来源:互联网 发布:js设置全局cookie 编辑:程序博客网 时间:2024/06/03 06:10
源码下载地址:http://www.pjsip.org/download.htm
官方iPhone编译指南:
https://trac.pjsip.org/repos/wiki/Getting-Started/iPhone
编译版本2.6
编译步骤
1.创建一个config_site.h文件,放置/XXX/pjproject-2.6/pjlib/include/pj
下
不要复制XXX/pjproject-2.6/pjsip-apps/src/3rdparty_media_sample/config_site.h文件过去,最后链接文件会报错的。
2.在创建的config_site.h文件中添加一下代码
#define PJ_CONFIG_IPHONE 1//如果不需要视频,则不用添加以下宏定义#define PJMEDIA_HAS_VIDEO 1#include <pj/config_site_sample.h>
3、改为arm64架构,默认是armv7的
export ARCH="-arch arm64"
4.设置最小支持版本
export MIN_IOS="-miphoneos-version-min=8.0"
5.如果需要支持视频需要去下载openh264 1.6的源码进行编译(直接下载.a文件是不行的)
下载源码后cd到源码目录 执行下面语句进行编译
make OS=”ios” ARCH=arm64 install
编译成功后/静态库文件默认在/usr/local/lib下面
6.配置PSSIP编译选项
//cd 到源码顶层文件夹下$ cd /XXX/pjproject-2.6 //执行 ./configure-iphone 设置openh264库文件 $ ./configure-iphone --with-openh264=/usr/local/
7.编译
//等待配置文件生成后,确保你创建config_site.h文件,就可以进行编译 $ make dep && make clean && make
如果不出意外编译是没问题的,就可以打开 /pjsip-apps/src/pjsua/ios. 下面的工程了。
如果编译失败则可能是因为PJSIP源码 跟/usr/local/lib下面的库起冲突了。解决方法编译时暂时屏蔽掉/usr/local/lib下冲突的库文件、或者头文件,暂时修改他的文件名或者移除,编译成功后记得恢复
8.合并 armv7和arm64架构静态库
编译完成后只有设置架构的文件,需要其他的架构的库文件需要重新设置架构然后继续按照上面的流程执行
都编译完成后,找到对应的库文件进行合并
//合并方法、例如:
//打开终端,进入要合并的库文件目录
$ lipo -arch armv7 libpjsua2-armv7-apple-darwin_ios.a -arch arm64 libpjsua2-arm64-apple-darwin_ios.a -create -output libpjsua2.a
合并完成后查看是否成功,使用lipo -info将会显示对应的支持的版本架构
$ lipo -info libpjsua2.a
- IOS PJSIP源码编译
- pjsip使用最新源码编译 for android
- pjsip使用最新源码编译 for android
- pjsip使用最新源码编译 for android
- pjsip 编译
- pjsip 编译
- pjsip编译
- pjsip编译
- iOS之PJSIP的编译与简单使用
- pjsip编译及使用说明
- pjsip编译及使用说明
- pjsip编译及使用说明
- vs2008 编译pjsip
- pjsip编译与使用
- pjsip 编译配置项
- 编译android版本pjsip
- 编译android版本pjsip
- pjsip编译问题
- GDOI冲刺训练模拟赛第三套总结
- DZ3.3邮箱发送不成功解决方法
- 百万级访问网站前期的技术准备
- BZOJ 1031: [JSOI2007]字符加密Cipher
- 欢迎使用CSDN-markdown编辑器
- IOS PJSIP源码编译
- 个人收集的一些前端的网站
- 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法
- 野指针问题
- Bootstrap Modal 从左侧和右侧滑入
- 阿里巴巴测试题 -- 取石子问题
- 数据压缩实验三 Huffman编解码算法实现与压缩效率分析
- Java中String、StringBuffer、StringBuilder的联系和区别
- Android -- RecyclerView(超简单)实现可展开列表