python - 在 OS X 10.9 上编译 PJSUA

标签 python sip osx-mavericks pjsip

第一次使用stackoverflow,如有不妥请指正!

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

  1. 阅读documentation .
  2. 相应地检查要求。这是我的设置:
    • OS X 10.9(小牛)
    • GNU Make 3.81
    • binutils 2.23.2(可能通过 Macports.. 不确定)
    • 苹果 LLVM 5.0
  3. 下载 v2.1:pjproject-2.1.tar.bz2 并将其解压到我的主目录中。
  4. CD 进入 pjproject-2.1 并在终端中运行:./configure && make dep && make

当涉及到这一行时(我相信是在 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 代码中重新实现缺失的结构。可能最好等待补丁。

关于python - 在 OS X 10.9 上编译 PJSUA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274027/

相关文章:

python - Django有序序列模型设计

osx-mavericks - 使用 killall cfprefsd 刷新首选项缓存导致在 OS X 10.9.5 上过度唤醒

sip - 在 sipp 中禁用屏幕窗口

assembly - 如何使用 LLDB 修改内存内容?

无法使 valgrind 在 OSX 特立独行者上工作

python - 如果文件名包含单引号/撇号,为什么我的路径会失败?

Python 跟踪和分析

python - 按 x 然后按 y 对字典列表进行排序

android - SipDemo 还是 Sipdroid?

java - 使用 Java 的 Twilio 发起和终止 SIP URI