2013-05-08 95 views
0

我有一個用於測試的靜態庫和一個用於發佈的靜態庫。調試靜態庫具有在發行版本中不可用的調用。在我的代碼中,我使用預處理器宏來防止測試靜態庫中可用的調用。如何包含兩個與iOS幾乎相同的靜態庫

如何在項目中包含兩個庫並在鏈接過程中使其中一個鏈接,具體取決於我正在執行的構建?

注意:我無法訪問靜態庫的代碼,因此我無法進行任何更改。我所能訪問的是使用lib的客戶端代碼。

+0

考慮使用多個「目標」。 – 2013-05-08 18:26:10

回答

1

Target Build SettingsLinking下,Other Link Flags - 您可以在您的Debug調試庫,而真正的一個在Release(部署等)。首先將其從Link Binary With Libraries中刪除Build Phases

+0

應該在構建階段中指定lib作爲可選項? – Boon 2013-05-08 21:31:09

+0

否 - 將其完全移除 - 因爲只能有一個不是兩個。它與構建系統相同 - 構建階段中的庫只是添加到鏈接階段。所以你自己做這個工作正常(我以前做過),但沒有準確的鏈接語法。將是類似「-l $(XcodeMacroToProjectDirectory)/somefolder/libA.a」 – 2013-05-08 21:41:02

+0

是否有可能讓鏈接器未鏈接到特定的庫? – Boon 2013-05-08 21:45:50

相關問題