VS20xx VC++ 设置相对路径

2019-04-15 15:53发布

在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 estpicpic.bmp
d:Code est estxxxxxxxx.h
此方法虽然简单,但是如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了D:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。因此我们最好设置相对路径。对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(test.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
如上的例子中要找到xxxx.h 则相对路径为 .xxxxxxxx.h找到pic.bmp 则相对路径为 ..picpic.bmp
要包含头文件只用在vc++目录设置如下即可:
代码中写上:#include "xxxx.h"另外一种方法:vs20XX 系列工程中有很多宏会代表一定的路径,如上图点击宏按钮,可看到:
不同的名称代表了不同的值。其实$(ProjectDir) 即代表了工程路径d:Code est est所以包含目录也可以写成$(ProjectDir)xxxx
这样设置之后,工程随便拷到那个目录就能一次性编译成功,再也不会找不到头文件了。