在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
这样设置之后,工程随便拷到那个目录就能一次性编译成功,再也不会找不到头文件了。
来源:CSDN
作者:lacoucou
链接:https://blog.csdn.net/lacoucou/article/details/80128202