2013-08-31 54 views
-1

使用位於/usr/local中的文件時,我無法在Xcode版本4.6.3(4H1503)下編譯項目。錯誤是'cryptopp/cryptlib.h' file not found。這與其他一些問題類似,但其他主題中提到的「嘗試這個」並沒有幫助。即使存在於/ usr/local/include中,也不能包含文件

我有一個包含標題的目錄。該目錄是/usr/local/ios-armv7/include。在該目錄中,標題位於cryptopp/。我包含的文件都是#include <cryptopp/cryptlib.h>#include "cryptopp/cryptlib.h"

header files on disk

在Xcode中,我有/usr/local/ios-armv7/include,並在每一個將採取頭一個路徑或包含文件的地方/usr/local/ios-armv7/include/cryptopp集。沒有目標覆蓋。我驗證了通過-I交換機將路徑添加到命令行。

Xcode search paths

我試過切換ALWAYS_SEARCH_USER_PATHS。我試過切換遞歸。我也嘗試添加和刪除尾部斜槓(/)。在每次嘗試之間,我執行一次完整的清理。我還使用Organizer刪除所有數據。我甚至嘗試過使用不同的編譯器(GCC-4.2,它看起來完全破碎)。

讓Xcode遵守我的搜索路徑有什麼竅門?

回答

-1

我將此問題記錄到usr/local/ios-arm7上的權限。權限是0600.我不確定Finder如何/爲什麼能夠查看它們,因爲我沒有權限。在chmod -R 0644 usr/local/ios-arm7之後,一切按預期工作。我還可以刪除我在項目中投入的所有額外路徑。

3

哇......真是痛苦。我只是想出了它(在同一時間打了一段時間)。

看起來有兩組設置,一個用於項目,另一個用於目標。

查看您的構建設置窗格的左側。如果突出顯示項目,請點擊「目標」圖標,然後您會看到還有另外一組構建設置。只要我在'Header Search Paths'部分添加'/ usr/local/include',它就會找到外部頭文件。

+0

喬納斯 - 聽起來像你提供目標特定的覆蓋。您可以通過突出顯示覆蓋然後按CMD + DELETE在目標上刪除它們。提示:覆蓋字體爲粗體,非覆蓋字體爲標準字體。一旦你刪除覆蓋,它會回到標準字體。 – jww

相關問題