在c ++中包含与项目目录相关的文件

use*_*372 3 c++ include

我有一些头文件包含在项目源的子目录中.不必做#include "../../Foo.h"这些文件里面在我看来,看起来有点乱,当我更喜欢做#include "dir1/dir2/Foo.h"更快的人阅读和理解-这是可能的,如果是这样,怎么样?

xto*_*ofl 10

显然你可以.(而且应该)

告诉编译器将"projectdir /../ .."添加到它的include路径中.在Microsoft上,这将是使用/Igcc上的开关-I.

----编辑-----

在Visual Studio中,您可以使用"宏".在这种情况下$(ProjectDir)/../..应该这样做.

更好的是,如果你可以这样组织它:在'root'目录中创建一个解决方案,在子目录中添加项目,并$(SolutionDir)/projectX/includes在你的C++包含路径上使用.

更好的是:将依赖项目添加为项目的参考.VS应该自动将它的目录和lib添加到编译器和链接器设置中.