我在我的一个项目中使用idoubs开源来实现VoIP功能。在armv6和armv7架构中一切正常。现在,我正在更新项目以支持iphone5。我无法在armv7s架构中编译该项目(我放弃了armv6架构。试图在armv7和armv7s架构中进行编译)。我收到以下错误。

ld:找不到-lsrtp的库

collect2:ld返回1个退出状态

请分享您的建议以解决此问题。

注意:

libsrtp.a可用于除armv7s架构以外的所有架构(armv6,armv7和i386)。所以我不确定idoubs源代码是否真的被更新过

我正在使用最新的修订版r221和xcode 4.5。

提前致谢...

最佳答案

这件事对我来说也是一样,我终于解决了。

当我为GPL版本编译Building时,它可以正常工作,但是当我生成非GPL版本时却给出了17个错误。首先,我遵循以下步骤:

In /mydoubs/iPhone/idoubs/branches/2.0/ios-idoubs/idoubs.xcodeproj
 Right click on idoubs target => Get Info => Build tab => Other Linker Flags then:
        remove -lx264
        replace
            -lswscale to -lswscale-lgpl
            -lavcore to -lavcore-lgpl
            -lavutil to -lavutil-lgpl
            -lavcodec to -lavcodec-lgpl


 Right click on ios-ngn-stack target => Get Info => Build tab => Other C Flags then:
            replace -DHAVE_H264=1 with -DHAVE_H264=0

然后窍门是按照以下顺序构建库,在同一项目中不要忘记(idoubs.xcodeproj):
  • Doubango(ios-ngn-stack)(请注意,这与其他Dobango不同)
  • iOS-ngn-stack
  • Doubango(idoubs项目)
  • Ngn
  • iDoubs

  • 它以这种方式用于armv7

    关于static-libraries - 无法针对armv7s构建idoub,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13156800/

    10-09 21:47