如何高效地获取MSVC2013

时间:2016-03-14 02:25:42

标签: c++ visual-c++ visual-studio-2013 msbuild

我想使用include-you-you-use来重构我的代码,但我需要弄清楚VS正在查找哪些目录。

如何获取项目中文件可见的所有包含路径的列表?

如果我添加了不正确的包含内容,例如" #include"我得到了我想要的列表,但我无法复制并粘贴该死的东西! (而且OCR似乎不起作用)。

如何获取此列表?

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您想手动执行此操作但不能很好地缩放,则可以从对话框中复制/粘贴。既然你标记了这个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

这会将所述文件导入到项目中,因此它可以访问所有属性,并打印出编译器默认使用的INCLUDE环境变量的值,以及传递给它的AdditionalIncludeDirectories的值。 msbuild编译。