我在项目源代码的子目录中有一些头文件。在这些文件中需要使用 #include "../../Foo.h",在我看来有点凌乱,我更喜欢使用 #include "dir1/dir2/Foo.h",以便更快地阅读和理解 - 这是否可能,如果可能,该怎么做?
显然,你可以(而且应该)。 告诉编译器将“projectdir/../..”添加到其包含路径中。在Microsoft上,使用的是/I开关,在gcc上则是-I。 ---- 编辑 ----- 在Visual Studio中,你可以使用宏。在这种情况下,应该使用$(ProjectDir)/../..。 更好的方法是,如果你能以这种方式组织你的项目:在根目录下创建一个解决方案,添加子目录中的项目,并在C ++包含路径中使用$(SolutionDir)/projectX/includes。 更加优秀的方法是:将依赖的项目添加为引用到你的项目中。VS应该会自动添加它的目录和库到编译器和链接器设置中。