前置處理器會依此順序搜尋 Include 檔:
- 在包含 #include 陳述式之檔案所在的相同目錄中。
- 在目前開啟 Include 檔的目錄中,依開啟的相反順序搜尋檔案。搜尋會從 Include 檔的父目錄開始,並向上繼續搜尋所有上層 Include 檔的目錄。
- 依循每個 /I 編譯器選項所指定的路徑。
- 依循 INCLUDE 環境變數所指定的路徑。
F1
>R.h
>F2
>>A.cpp
>>vs專案檔
竟然,在A.cpp裡面不能
#include R.h
還得
#include "..\R.h"
更神奇的是,專案裡面已經存在了R.h還可以再新增一個R.h(但他的實體路徑在F2/R.h, 在專案中兩個R.h都可以看到..
對於找不到R.h的解釋可能是專案檔以外的目錄不在搜尋範圍內(這東西會有這種架構是F2依不同的vs版本有多個資料夾,eg:F2-2008, F2-2010, F2-2012。但這些都共用同一群.cpp與.h檔案,放在F1底下)
沒有留言:
張貼留言