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

时间:2014-07-23 15:34:28

标签: c++ include

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

1 个答案:

答案 0 :(得分:10)

显然你可以。 (并且应该)

告诉编译器将“projectdir /../ ..”添加到它的包含路径中。在Microsoft上,这将使用/I开关,在gcc上-I

----编辑-----

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

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

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