VS20XX VC++设置相对路径

孤者浪人 提交于 2019-12-05 19:02:19

在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


这样设置之后,工程随便拷到那个目录就能一次性编译成功,再也不会找不到头文件了。




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!