python-在OS X 10.9上编译PJSUA

第一次使用*时,请告诉我我是否做错了!

我想使用PJSIP 2.1s python模块(包装器).我这样尝试:

>阅读documentation.
>相应地检查要求.这是我的设置:

> OS X 10.9(小牛)
> GNU Make 3.81
> binutils 2.23.2(可能是通过Macports ..不确定)
>苹果LLVM 5.0

>下载v2.1:pjproject-2.1.tar.bz2并将其解压缩到我的主目录中.
>将CD放入pjproject-2.1,然后在终端中运行此文件:./configure&&制作&&使.

当涉及到这一行时(我相信是在make期间):gcc -o ../bin/pjmedia-test-i386-apple-darwin13.0.0,以下错误被抛出://

Undefined symbols for architecture x86_64:
"_aes_icm_advance_ismacryp", referenced from:
_aes_icm_encrypt_ismacryp in libsrtp-i386-apple-darwin13.0.0.a(aes_icm.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../bin/pjmedia-test-i386-apple-darwin13.0.0] Error 1
make[1]: *** [pjmedia-test] Error 2
make: *** [all] Error 1

然后脚本中止.

您有什么建议吗,可能是什么问题,或者如何避免呢?会很高兴为您提供任何帮助!

强制gcc编译为32位会有所帮助吗?

解决方法:

我不确定,这是否可以解决您的问题,但是对我来说,它奏效了:

Disable SRTP (Secure Real-Time Transport Protocol)

将以下内容添加到文件pjlib / include / pj / config_site.h中

#define PJMEDIA_HAS_SRTP 0

再做一次-应该工作.

正确的解决方案是重新实现c代码中缺少的结构.等待补丁可能更好.

上一篇:本机用软电话拨打虚拟机FreeSWITCH


下一篇:android-SIP如何更改音频编解码器