說我有一個與下面的文件結構中創建一個靜態庫:如何包含靜態庫並使其#import路徑仍然有效?
- Folder1中
- File1.h
- 文件夾2
- File2.h
現在在File1.h
之內,它指的是沒有路徑的例如File2.h
(例如, #import File2.h
)。該庫成功建立。 (它不需要完整路徑(即#import Folder2/File2.h
),因爲這兩個文件都是同一個項目的一部分。)
現在,當我將該庫包含在另一個項目中時,該#import File2.h
語句不再編譯,我必須更改它到#import Folder2/File2.h
(或類似的東西)。這意味着我必須修改原始庫,這不好。
特定錯誤消息我得到的是:
File2.h:沒有這樣的文件或目錄
似乎沒有成爲一個辦法讓它知道這兩個文件應成爲這個新項目的一部分,因爲我在收錄該庫後看到的僅有兩個文件是MyLib.xcodeproj
和lixMyLib.a
。
我包含在我的新項目靜態庫的方式是通過執行以下操作:
- 將
MyLib.xcodeproj
到我的新項目。 - 將
libMyLib.a
文件添加到我的新項目的目標。 - 將標題搜索路徑添加到我的庫的主目錄(包含
Folder1
和Folder2
的文件夾)的相對路徑。
有沒有什麼辦法可以讓它自動知道在哪裏可以找到這些文件,就像它能夠在庫中一樣?我意識到我可以將路徑Folder1
和Folder2
添加到我的新項目的標題搜索路徑中,但是我正在尋找更好的方法,因爲這兩個文件夾只是一個示例,並且它可能很容易就是50個文件夾我需要包括。如果可能的話,我正在尋找一種解決方案,不需要我輸入所有50個文件夾的路徑。
我不明白,爲什麼有人想要包含一個.m文件? – JustSid 2010-11-02 18:07:44
@JustSid:糟糕,那只是一個例子。我修復它使用.h代替。 – Senseful 2010-11-02 18:13:59