【问题标题】:How can I tell Visual Studio to use the project directory instead of the current file directory when including files?包含文件时,如何告诉 Visual Studio 使用项目目录而不是当前文件目录?
【发布时间】: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++


【解决方案1】:

(1) 进入项目属性: 并将文件夹添加到“其他包含目录”。 ...确保您应用到“所有配置”(调试、发布等)和“所有平台”(X86、X64)。

--

(2) 单击该行 + 再单击一次右侧的向下箭头)并单击 Edit...。它会打开一个看起来像这样的对话框(我已经在这个例子中添加了一些文件夹):

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多