第一次使用*时,请告诉我我是否做错了!
我想使用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代码中缺少的结构.等待补丁可能更好.