2012-08-03 112 views
2

新手在這裏嘗試將CHDataStructures庫添加到我正在處理的計算器項目中。我照在Linking a static library to an iOS project in XCode 4在接受的答案建議,並結束了與此:將外部庫添加到XCode中的項目4.3

XCode with library added

不幸的是,我得到一個'CHDataStructures.h' file not found錯誤,當我嘗試添加的頭班在我的項目(Calculator.m,例如)。

有關如何讓CHDataStructures庫像死星一樣全面運行的想法?

編輯

好了,這裏的嘗試都$(SRCROOT)和絕對路徑。有什麼想法嗎?

with `$(SRCROOT)

with absolute path

+0

您鏈接的答案中的第5點對此非常重要。你也聽過嗎? – 2012-08-03 22:41:47

+0

啊,不 - 我希望這不是關鍵,因爲我不知道該怎麼做。你如何添加標題搜索路徑? – 2012-08-03 22:43:45

+0

使用圖片最簡單,請參閱答案。 – 2012-08-03 22:59:22

回答

11

默認情況下,Xcode的搜索遞歸項目自身的目錄頭。如果您使用的是靜態庫,則需要使用可能駐留在其他位置的lib的頭文件。有在允許您指定其他路徑編譯期間搜索的Xcode項目2個設置:

用戶頭搜索路徑

#import "SomeHeader.h" 

頭搜索路徑

#import <SomeHeader.h> 

根據您打算使用哪種樣式,選擇適當的設置,並提供您希望使用的頭文件的路徑:

enter image description here

這些路徑可以是遞歸的,相對於項目(使用$(SRCROOT)/),或絕對的。如果您正確設置了Xcode,您也可以使用衍生數據目錄。

+0

非常感謝!那樣做了。現在,我可以渴望足夠了解編碼,以瞭解我剛剛修復的東西。 – 2012-08-03 23:24:14

+0

Drat。我以爲我擁有它,但我不太明白使用什麼路徑。我嘗試了'$(SRCROOT)/ Users/joel/Developer/CalculatorFourthTry' [CalculatorFourthTry是文件的名稱,這是它的路徑]和'「($ SRCROOT)/ Users/joel/Developer/CalculatorFourthTry」',變成'「(SRCROOT)/ Users/joel/Developer/CalculatorFourthTry」/ **',但我仍然得到錯誤。我正在格式化錯誤,我認爲? – 2012-08-03 23:31:02

+0

@JoelDerfner'$(SRCROOT)'只是「.xcodeproj文件的絕對路徑」的環境變量。如果你使用它,你會指定相對於.xcodeproj文件的頭文件的路徑,這不是你在那裏做的。您似乎正在使用絕對路徑,但將環境變量添加到它。 – 2012-08-03 23:33:46