为 iOS 4.0 编译 pjsip
Posted
技术标签:
【中文标题】为 iOS 4.0 编译 pjsip【英文标题】:Compiling pjsip for iOS 4.0 【发布时间】:2010-07-15 00:08:59 【问题描述】:我在 时遇到了问题。
我正在使用来自 SVN 的最新中继版本,并且不断收到 portaudio 错误。使用 piedmont 无线指南时:http://www.piemontewireless.net/PJSip155_and_iPhoneSDK312 我的 build.mak 文件中出现缺少分隔符错误,这表明存在空格/制表符错误,但我终生找不到它。
根据 pjsip 邮件列表,您应该能够为 ios 4.0 编译开箱即用,但我收到此错误:
../src/pjmedia-audiodev/errno.c:23:26: error: portaudio.h: No such file or directory
../src/pjmedia-audiodev/errno.c: In function ‘pjmedia_audiodev_strerror’:
../src/pjmedia-audiodev/errno.c:104: warning: implicit declaration of function ‘Pa_GetErrorText’
make[2]: *** [output/pjmedia-audiodev-arm-apple-darwin9/errno.o] Error 1
make[1]: *** [pjmedia-audiodev] Error 2
我会继续努力,但我们将不胜感激。
编辑:我确实有 portaudio.h
【问题讨论】:
上次我检查 pjsip 我记得 portaudio 是通过构建中的单独存储库拉入的,但我可能错了。你检查过你是否真的得到了 portaudio.h 吗? 是的,portaudio.h 存在于系统中,这是最让我感到奇怪的地方。在 third_party 文件夹中。 code.google.com/p/siphon/issues/detail?id=364 表示 iPhone 操作系统不支持 portaudio。评论说看维基或补丁,但快速浏览我没有看到修复。希望这会帮助您朝着正确的方向前进。 【参考方案1】:您缺少的具体步骤是将 config_site.h 文件放在正确的位置。
pjlib/include/pj/config_site.h
它需要包含以下内容:
#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>
因此配置将避免不需要或不会为 iPhone 中的 arm 芯片编译的库。
添加后重新开始:
./configure-iphone
然后
make dep && make clean && make
【讨论】:
【参考方案2】:./configure-iphone
SVN 新鲜出炉
Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h.
Further customizations can be put in:
- 'user.mak'
- 'pjlib/include/pj/config_site.h'
The next step now is to run 'make dep' and 'make'.
Done configuring for iPhoneOS4.2.sdk
不应该 ./configure-iphone setup pjlib/include/pj/config_site.h
作为
#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>
感谢@Schroedinger 的修复
【讨论】:
以上是关于为 iOS 4.0 编译 pjsip的主要内容,如果未能解决你的问题,请参考以下文章