在 Visual Studio 中显示 C++ 文件的 #include 层次结构。
在 Visual Studio 中显示 C++ 文件的 #include 层次结构。
问题:我有一个庞大的Visual C++项目,我正尝试将其迁移到Visual Studio 2010。这是一个来自各种来源和各个年代的大杂烩。我遇到问题是因为某个东西同时包含了winsock.h
和winsock2.h
。\n问题:有哪些工具和技术可以显示Visual Studio C++源文件的#include
层次结构?\n我知道可以使用cl /P
来获取预处理器输出,但这并没有清晰地显示哪个文件包含了哪些其他文件(而且在这种情况下,/P
输出有376,932行长8-)\n在理想的世界里,我希望能够显示一个层次结构,显示哪些文件包含了哪些其他文件,同时包含行号,这样我就可以跳转到源代码中:\n
source.cpp(1) windows.h(100) winsock.h some_other_thing.h(1234) winsock2.h
在Visual Studio中,有时候我们需要查看C++文件的#include层次结构。然而,默认情况下,Visual Studio并不提供直接的方法来显示这个层次结构。但是,我们可以通过使用编译器的特殊开关来实现这个目标。
编译器支持一个名为/showIncludes的开关,它可以显示一个相当全面的视图,告诉我们每个#include语句来自哪里。尽管它不会给出行号,但是它仍然是一个非常有用的工具。要使用这个开关,我们需要在Visual Studio中进行一些设置。
首先,我们需要打开项目设置。在Visual Studio菜单中,选择项目 -> 属性。然后,在属性窗口中,选择配置属性 -> C/C++ -> 高级设置。在高级设置中,我们可以找到一个名为"Show Includes"的选项。将其设置为"是",即可启用/include层次结构的显示。
使用/showIncludes开关可以很方便地查看#include层次结构,但是需要注意的是,它只显示#include语句,而不包括其他类型的文件包含关系,如库文件等。
总结起来,要在Visual Studio中显示C++文件的#include层次结构,我们可以使用编译器的/showIncludes开关。通过在项目设置中启用"Show Includes"选项,我们可以方便地查看#include语句的来源。这对于理解代码的依赖关系和解决编译错误非常有帮助。
问题:如何在Visual Studio中显示C++文件的#include层次结构?
原因:在Visual Studio中显示C++文件的#include层次结构需要进行特定的设置。有一个名为"Show Includes"的选项可以生成该层次结构,该选项位于项目设置的"Configuration Properties" -> "C/C++" -> "Advanced"中。这个选项对应着编译器开关"/showIncludes"。
解决方法:在Visual Studio中显示C++文件的#include层次结构可以按照以下步骤进行操作:
1. 打开项目设置。
2. 导航到"Configuration Properties" -> "C/C++" -> "Advanced"。
3. 将"Show Includes"选项设置为"True"。
4. 编译项目。
注意:可以在输出窗口中查看层次结构。
其他提示:
1. 即使选择了Clang平台工具集,也可以通过在"C/C++" -> "Command Line" -> "Additional Options"中添加"-H"来显示#include层次结构。
2. /showIncludes开关只有在项目级别设置了/showIncludes时才会生效。
3. 确保属性对话框中的配置和平台与正在构建的项目匹配,否则可能无法看到预期的输出。
4. 启用该选项会使构建过程串行化,因此如果保持开启状态会有一定的成本。
通过在Visual Studio中进行特定的设置,我们可以显示C++文件的#include层次结构,这对于理解代码的依赖关系和调试非常有帮助。尽管/showIncludes功能不如gcc的“included from”功能强大,但在Visual Studio中仍然是一个非常有用的工具。