2011-03-20 48 views
3

我正在開發一個項目,最終將有一個將由多個應用程序使用的代碼庫。在閱讀文檔時,它聽起來像是創建一個XCode4工作區,2個項目(1個庫和1個應用程序)是要走的路。帶靜態庫項目和應用程序項目的Xcode4工作區

我做到了這一切,似乎一切正常。但是,今天我在我的庫項目上做了一大堆工作,當我運行我的應用程序來測試庫更改時,它總是包含一個較舊的編譯版本。我無所適從,我在我的應用程序方案中添加了我的庫作爲構建目標,XCode告訴我它正在編譯該庫,但它始終鏈接到舊版本。

任何幫助,非常感謝。我在如何設置工作區時錯過了某些內容?是否有一個構建步驟,將強制鏈接到我新編譯的.a?我甚至嘗試刪除依賴項,清理,重新添加依賴項和構建我的應用程序,我仍然得到相同的結果。

+2

也許一個特定的編譯版本被添加到'Build Phases'下的'Link Binary With Libraries'中。 – 2011-03-20 01:41:27

+2

請更新您的問題,並說明您的依賴關係是如何設置的(或者您是否讓Xcode自動檢測),您構建的.a產品與您的應用程序鏈接的方式等。此處的詳細信息非常重要。 – 2011-03-20 14:56:25

+1

感謝您的評論,我今天回到了我的代碼,做了一次乾淨的重新構建,並且所有事情都再次適當地鏈接。我想我一定是累了,昨天做了一些愚蠢的事情。爲了回答你Joshua的問題,我讓XCode自動檢測。 – 2011-03-21 04:37:08

回答

1

原來XCode做的一切都很正確,我沒有。另一個乾淨的和重新編譯,一切都按預期工作。

2

我遇到了同樣的問題,我的解決辦法是

rm -f BUILT_PRODUCTS_DIR/$EXECUTABLE_PATH 

添加到build -> pre-actions節(編輯方案,展開構建和添加預行動)。 在Provide build settings from下請確保選擇您的目標項目。 這將確保在腳本運行時配置正確的環境變量。 我正在使用XCode 4.5.1。

相關問題