Visual Studio 2015 中的递归包含路径
Posted
技术标签:
【中文标题】Visual Studio 2015 中的递归包含路径【英文标题】:Recursive Include Paths in Visual Studio 2015 【发布时间】:2017-02-20 20:46:55 【问题描述】:所以我是使用 Visual Studio 的新手,我正在尝试创建一个项目来编译我现有的程序。该程序已经在 macOS 上使用 Xcode 进行编译。项目的文件夹结构如下:
main folder
src
some code here
Debug
some code here
Utility
some code here
Special Utility Folder
Rendering
some code here
Rendering Utils
...
当我尝试将项目加载到 Visual Studio 中时,我收到很多错误,提示找不到头文件。我做了一些调查,似乎包含路径不是递归的。因此,要包含来自 src/Utility 的文件,我必须编写
#include "Utility/header.hpp"
但是项目中使用的所有代码都包含like
#include "header.hpp"
有没有办法让它在 Visual Studio 中工作?
附:手动添加所有文件夹作为它们自己的包含路径是可行的,但随着项目的增长,维护起来会很痛苦,特别是因为我的大部分工作都将在 Xcode 中完成
【问题讨论】:
包含路径对于我所知道的任何 C++ 编译器都不是递归的。 如果我知道为什么它在 X-Code 下有效,那就危险了。他们可能正在做一些看不见的“有用”的事情。 @user4581301 这是我的猜测 【参考方案1】:您可以在项目属性中设置所有文件夹的包含路径(它不是递归的):
访问项目配置:
-
右键单击项目,然后选择属性。
选择配置属性->C/C++->常规。
在其他包含目录下设置路径:
即:
.
Debug
Utility
等。
也许您还可以使用 cmd 工具在 txt 文件中创建包含路径(即:IncludePath.txt)。 在该文件中,您可以添加包含文件夹:
/I "."
/I ".."
/I ".\Debug"
/I ".\Utility"
然后在 Additional Include Directories 下设置路径:
@IncludePath.txt
【讨论】:
手动添加每条路径确实有效,正如我在原始问题中所述,但我正在寻找可能更优雅的解决方案 IncludePath.txt 变通办法是否真的有效(VS 2015)?我找不到任何关于它的文档... 我知道它很旧,但我遇到了这个并想我会说:是的,它确实有效。您可以使用“cl @以上是关于Visual Studio 2015 中的递归包含路径的主要内容,如果未能解决你的问题,请参考以下文章
.cpp 文件中的 Visual Studio 2015 IntelliSense #included 作为标头
在Visual Studio 2015中访问资源图像 - 特别是位置路径
Visual Studio 2015自定义安装不包括Visual Basic?