2011-10-16 108 views
0

我創建了一個靜態庫LibA.a,其中包含一些代碼和另一個靜態庫libB.a.當我在一個新項目中使用這個靜態庫LibA.a時,我得到很多這樣的錯誤:iPhone靜態庫創建

File1.h沒有這樣的文件或目錄。

此文件File1.h和其他顯示錯誤的文件存在於LibB.a中。

編輯1:我使用的XCode 4.0.1

編輯2:現在在創建我的靜態庫,我已經做了頭文件公開其方法,用戶可以在自己的項目中使用。我的靜態庫引用另一個名爲XWidget.a的靜態庫。我已經將它添加到我的靜態庫的「Link Binary with Libraries」中,並且也直接依賴它。然後創建我的靜態庫。現在我正在一個演示項目中測試我的庫。在演示項目的標題搜索路徑中我添加了靜態庫的公共頭文件的路徑。當我運行它時,找不到內部靜態庫XWidget.a中的頭文件。給像FileA.h這樣的錯誤:沒有這樣的文件或目錄。我應該以某種方式提供內部靜態庫(XWidget.a)的路徑嗎?如果是,那麼如何?或者我還缺少什麼?

回答

1

您需要將頭文件包含在您要與庫接口的項目中。

+0

實際上,那些存在於靜態庫(在「複製頭文件」的「項目」域中)的頭文件在主項目中找不到,並且出現上述錯誤。我不想讓他們進入公共領域,以至於看不到。 – crypt

+0

一些頭文件必須公開,以便開發人員可以使用庫 – Felix

+0

@ phix23:請看看編輯2.我已經嘗試過你說的,但還有一些錯誤即將到來。 – crypt

0

單擊邊欄上Xcode文件管理選項卡中的大項目按鈕,選擇您的目標,單擊Build Phases,然後拉下標題爲「Compile Sources」的下拉菜單。然後確保所有必需的.m,不是.h,文件在那裏。

我已經遇到這個問題幾次我自己,我希望這可以幫助你!