我很想使用 include-what-you-use 来重构我的代码,但我需要弄清楚 VS 正在寻找哪些目录。
如何获得项目中文件可见的所有包含路径的列表?
如果我添加了不正确的包含,比如“#include”,我得到了我想要的列表,但我不能复制和粘贴该死的东西! (而且 OCR 似乎不起作用)。
如何获取此列表?
最佳答案
如果您想手动执行一次,则可以从对话框中复制/粘贴,但不能很好地缩放。由于您标记了这个 msbuild,这里有一个使用它的解决方案。创建文件名 showincludes.targets 并粘贴此 msbuild 代码:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ShowIncludes">
<Message Text="$(Include);%(ClCompile.AdditionalIncludeDirectories)"/>
</Target>
</Project>
现在获取任何项目文件使用的包含列表
msbuild \path\to\vcxproj /p:ForceImportAfterCppTargets=\path\to\showincludes.targets /t:ShowIncludes
这会将所述文件导入项目 give,因此它可以访问所有属性,并打印出编译器默认使用的 INCLUDE 环境变量的值,以及传递给的 AdditionalIncludeDirectories 的值msbuild 的编译器。
关于c++ - 如何高效获取 MSVC2013 中的所有包含路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35978600/