2013-11-28 71 views
3

第一次使用stackoverflow,请告诉我,如果我做错了什么!在OS X上编译PJSUA 10.9

我想使用PJSIP 2.1的Python模块(包装)。我试过这样的:

  1. 阅读documentation
  2. 相应地检查要求。这是我的设置:
    • OS X 10.9(小牛)
    • GNU使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位?

回答

3

我不知道,如果这能解决你的问题,但对我来说它的工作:

禁用SRTP(安全实时传输协议)

以下添加到该文件pjlib /包括/ PJ/config_site.h

的#define PJMEDIA_HAS_SRTP 0

再次 - 应该工作。

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

+0

防止出现问题。现在'make'在其他地方失败了,但是:/无论如何,我现在都放弃了。对我来说是不值得的。谢谢西蒙:) – tillsanders

+0

@Simon Fakir我在PJSIP发送即时消息时遇到问题。它给出这样的错误请帮我解决这种情况 声明失败:(mutex-> owner == pj_thread_this()),函数pj_mutex_unlock,文件../src/pj/os_core_unix.c – Harish