2011-05-14 61 views
1

我有一個iPhone應用程序,依賴於兩個靜態庫在做產品時缺少庫鏈接錯誤>建立歸檔在Xcode 4

在做項目>建立運行然後項目>運行有沒有錯誤和應用程序按預期在我的iPhone上運行。

在做項目>建立歸檔我得到一個鏈接錯誤的圖書館之一,但不爲別的 LD:庫找不到-lConcordeLib

當我看到在文件系統上的創建的* .a文件我看到:

發佈-的iPhoneOS/ConcordeLib.build /目標正常/ ARMv6的/ libConcordeLib.a
發佈-的iPhoneOS/ConcordeLib.build /目標正常/的ARMv7/libConcordeLib.a
Releas電子的iPhoneOS/QSoptLib.build /對象 - 正常/的ARMv6/libQSoptLib.a
推出-的iPhoneOS/QSoptLib.build /對象 - 正常/ ARMv7的/ libQSoptLib.a
推出-的iPhoneOS/libConcordeLib.a
推出-的iPhoneOS /libQSoptLib.a

在編譯的DerivedData目錄中。這看起來與在成功執行Project> Build For Running時生成的文件非常相似,後者在Debug-iphoneos下生成相同的文件。

我清理了派生數據輸出,停止並重新啓動了XCode,仍然得到相同的錯誤。

回答

2

我仔細看了看ld命令,看到它生成了.../Build/Intermediates/NavConcorde.build/AdHoc-iphoneos /下的文件。 AdHoc配置文件實際上並不存在,因此出現錯誤並不奇怪。我不知道爲什麼這表現爲鏈接錯誤。 Debug和Release下的庫必須掛起另一個編譯。

進入產品>編輯方案並設置配置文件以使用現有的配送文件解決了鏈接錯誤。