【发布时间】:2018-08-19 13:21:43
【问题描述】:
我正在重构我的 Visual-Studio-C++ 项目以使用文件夹结构而不是 Visual Studio 中的过滤器,但我注意到当我尝试包含文件时,它将使用该文件的当前目录,因此我的包含看起来像......
#include "../../server/IGameServer.h"
当我重构和移动东西时,这是非常有问题的,因为我必须进入每个文件并更改它们的包含...
有没有办法让每个文件都从基目录开始,无论当前文件在哪里,或者有一种方法可以包含文件夹路径,这样我就可以使用
#include "IGameServer.h"
【问题讨论】:
-
我可以通过将
$(ProjectDir)宏添加到附加包含中来做到这一点,但这仍然意味着我必须获得标题的整个路径。有没有办法自动包含目录中的所有子文件夹? -
是的,不要那样做。正确的方法是 Project > Properties > C/C++ > General > "Additional Include Directories" 设置。
-
@HansPassant 这甚至适用于同一项目中的文件夹吗?我认为这是用于附加包含,例如外部库?
-
令人费解的评论,只有一个项目文件夹。有点猜测,如果您#include 一个位于 Timbuktu 中的 .h 文件,并且它有一个需要在当前项目文件夹中找到的 #include,那么您必须将
"."添加到附加的包含目录设置中。最好避免,但它会发生。
标签: c++ visual-studio visual-c++