這是重點。我有一個子項目(靜態庫)創建。圖書館編譯得很好。沒有錯誤。當我將該庫包含在項目中並從項目庫中導入標題時,庫無法編譯,因爲它找不到屬於它自己的路徑。靜態庫路徑惡夢來自地獄
在網絡上關於如何創建一個靜態庫並將其嵌入到項目中的一堆教程之後,我不知道哪一個是正確的,因爲我嘗試了所有和所有失敗,並且一些不同。
這是庫的設置方式:
靜態庫
生成設置:
- 公共報頭文件夾路徑=
$(BUILT_PRODUCTS_DIR)
- 頭搜索路徑=
$(SRCROOT)
(遞歸)
構建階段
複製文件= 1個文件,myLibrary.h,基本上是空的(當我使用的靜態庫模板以啓動庫通過xcode的創建。
沒有ADD COPY HEADERS相
MAIN PROJECT
構建設置
- 頭搜索路徑=空
- 用戶頭搜索路徑=
$(BUILT_PRODUCTS_DIR)
(遞歸) - 始終搜索用戶路徑=
YES
構建階段
- 是,
myLibrary.a
是目標相關
什麼令我驚奇的是,在圖書館編譯好,但是當把它放在一個項目中時,無法找到屬於自己的庫的頭。
注意:我也試圖在庫上公開所有.h
庫上創建副本標題階段,但它也失敗了。
這是一個錯誤的例子:
/Users/mike/Library/Developer/Xcode/DerivedData/MyApp-dnaimaovscreasadhmvgttwjnabc/Build/Products/Debug-iphoneos/include/myLibrary/ccTypes.h:39:9:
fatal error: 'Platforms/CCGL.h' file not found
#import "Platforms/CCGL.h"
我已經失去了兩個幾天的時間來解決這個噩夢。
有什麼想法?
添加'Run Script'構建階段,在失敗階段之前執行,檢查'顯示構建日誌中的環境變量',啓動在'Log Navigator'上建立並檢查路徑。 –
和腳本是空的?只是?這樣做只顯示了日誌導航器上已經顯示的內容。 – SpaceDog
我已經上傳了一個示例項目到這裏:https://mega.co.nz/#!mBQhiRQS!Mz0wRh9wdhbKsW_KxE5F8iL2Q11gocuHlAB0ibQOoDo 所以你可以看到我的意思。 – SpaceDog