VS20xx VC++ 設定相對路徑
在D:\Code目錄下有一個test的專案,專案結構如下圖:
└─test
│ test.sln
│
├─pic
│ pic.bmp
│
└─test
│ test.cpp
│ test.vcxproj
│
└─xxxx
xxxx.h
此圖可用CMD命令tree /f >tree.txt生成,詳見https://blog.csdn.net/masterft/article/details/1671672
現在工程中想使用xxxx.h 以及 pic.bmp方法如下:
工程屬性--》屬性頁--》VC++目錄
1.使用絕對路徑
d:\Code\test\pic\pic.bmp
d:\Code\test\test\xxxx\xxxx.h
此方法雖然簡單,但是如果其他人拷貝你的工程到其他機器上就可能無法執行,這個是因為你在建工程時可能把工程放在了D:盤,但是其他人可能會把工程放在其他根目錄下,這樣會導致找不到標頭檔案問題。
因此我們最好設定相對路徑。
對於新手,在設定絕對路徑時往往會犯渾,他們不清楚這裡的“相對”究竟是以什麼位置為起點。其實這裡的相對路徑就是相當於工程檔案(test.vcproj)為起點零計算出的能找到包含所需標頭檔案(也就是找包含所需標頭檔案的include目錄)的路徑。
如上的例子中要找到xxxx.h 則相對路徑為 .\xxxx\xxxx.h
找到pic.bmp 則相對路徑為 ..\pic\pic.bmp
要包含標頭檔案只用在vc++目錄設定如下即可:
程式碼中寫上:
#include "xxxx.h"
另外一種方法:
vs20XX 系列工程中有很多巨集會代表一定的路徑,如上圖點選巨集按鈕,可看到:
不同的名稱代表了不同的值。
其實$(ProjectDir) 即代表了工程路徑d:\Code\test\test\
所以包含目錄也可以寫成$(ProjectDir)\xxxx
這樣設定之後,工程隨便拷到那個目錄就能一次性編譯成功,再也不會找不到標頭檔案了。