正确配置为iphone构建libsrtp?

时间:2011-03-17 09:44:09

标签: iphone arm configure rtp

我正在尝试构建libsrtp,以便我可以在iPhone上使用它(我打算将它与libav的RTP实现一起使用)。

我的配置:

  

./配置   --build = '臂苹果darwin9'

我尝试调用srtp_init()时收到的警告:

  

文件是为不受支持的文件构建的   格式不是架构   被联系起来(armv7)

接着是错误:

  

“_ srtp_init”,引自:

     在Manager.o中

+ [经理初始化:]

     

未找到符号

有没有人知道正确构建库的正确配置?

2 个答案:

答案 0 :(得分:1)

问题在于它不是为ARM构建的(或者不适用于正确的ARM;您需要查看哪些编译器使用哪些选项进行调用,并将其与您知道正在运行的编译器进行比较)。你用autoconf重建配置了吗?有关如何为其他系统/处理器重新配置构建的起点,请参阅GNU build system wiki页面。

仅供参考,如果您在configure.in或libsrtp的其他部分发现错误,请告诉我 - 我是checkin privs的作者。

答案 1 :(得分:0)

有关iOS交叉编译库的一般准则,我建议您阅读本文: http://tinsuke.wordpress.com/2011/02/17/how-to-cross-compiling-libraries-for-ios-armv6armv7i386/

同一个人也为iOS 5编写了一个更新版本。这个版本特定于tesseract库,但一般原则是相同的: http://tinsuke.wordpress.com/2011/11/01/how-to-compile-and-use-tesseract-3-01-on-ios-sdk-5/

使用这些作为指导我已经成功编译了一些库。需要注意的关键是您必须禁用编译共享二进制文件。另外,我建议使用clang而不是gcc