2012-10-31 35 views
6

我在其中一個項目中使用idoubs開放源代碼來實現VoIP功能。事情在armv6和armv7架構中運行良好。現在我正在更新我的項目以支持iphone 5.我無法在armv7s體系結構中編譯項目(我放棄了armv6體系結構。試圖在armv7和armv7s體系結構中編譯)。我得到以下錯誤。無法針對armv7構建idoubs

LD:庫找不到-lsrtp

collect2:LD返回1個退出狀態

請分享您的建議來解決這個問題。

注:

libsrtp.a適用於所有比armv7s架構以外的架構(ARMv6的,ARMv7體系和i386)。所以我不知道這是否idoubs源代碼已經真正更新

我使用最新版本R221和Xcode的4.5。

在此先感謝...

+0

這裏同樣問題 – Adel

+0

有沒有這樣的運氣? – Zoidberg

回答

4

它發生在我身上,我終於解決了它。

當我編譯樓爲GPL版本,它工作正常,但是當我是建設非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 

然後trickis建庫按以下順序,在同一項目中,別忘了(idoubs.xcodeproj):

  1. Doubango(IOS-NGN-棧)(要小心,這是從其他Dobango不同)
  2. IOS-NGN-堆
  3. Doubango(idoubs項目)
  4. NGN
  5. iDoubs

它在選項時以這種方式對ARMv7

+0

這不是告訴我的地方。我犯了一個錯誤,但爲什麼你必須在這裏寫信給我? – Aitul

+0

你好@Aitul,我遵循了同樣的步驟。但是我得到的錯誤ld:庫找不到-lsrtp clang:error:linker命令失敗,退出代碼1(使用-v查看調用) –

0

在「生成設置」:「有效的架構」,只留下用於ARMv7和用戶自定義(這是在頁腳「生成設置」)包括:在「Doubango liBS」armv7s中,從目錄「..youre private path ../ mydoubs/doubango/branches/2.0/doubango/thirdparties/iphone/lib」中選擇libs! 這是幫助我!