【问题标题】:How to know the INCLUDE, LIB, PATH outcome of Visual Studio 2010,2013 Toolset如何知道 Visual Studio 2010、2013 工具集的 INCLUDE、LIB、PATH 结果
【发布时间】:2014-11-27 03:50:21
【问题描述】:

自 VS2010 起,Microsoft Visual Studio 引入了 Platform Toolset 概念,将传统的全局 INCLUDE、LIB、PATH 设置封装在各种工具集中。我承认这是对灵活性的改进,但它不应该是一个让我们变得愚蠢的黑匣子。

现在我的问题是,当我将工具集应用于我的项目时,我如何知道生成的 INCLUDE、LIB、PATH 是什么。我认为手动分析这数百个 .targets 和 .props 文件(在C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120 中)以获得结果是不现实的。大多数时候,我们只需要结果。有什么简洁的方法可以实现吗?

==== 更新 ====

Stijn 为我提供了正确的答案。现在我可以从构建日志中看到 PATH= 、 LIB= 、 INCLUDE= ...。但是,一个小问题,LIBLIBPATH 有什么区别?

1>Using "SetEnv" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Build.CppTasks.Common.dll".
1>Task "SetEnv"
1>  PATH=C:\VS2013\VC\bin;;C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools;C:\VS2013\Common7\Tools\bin;C:\VS2013\Common7\tools;C:\VS2013\Common7\ide;C:\Program Files (x86)\HTML Help Workshop;;C:\Program Files (x86)\MSBuild\12.0\bin\;C:\Windows\Microsoft.NET\Framework\v4.0.30319\;C:\Windows\SysWow64;;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;;C:\Windows-Kits\8.1\bin\x86;C:\Windows-Kits\8.1\tools\tracing\x86
1>Done executing task "SetEnv".
1>Task "SetEnv"
1>  LIB=C:\VS2013\VC\lib;C:\VS2013\VC\atlmfc\lib;;
1>Done executing task "SetEnv".
1>Task "SetEnv"
1>  LIBPATH=C:\VS2013\VC\atlmfc\lib;C:\VS2013\VC\lib;
1>Done executing task "SetEnv".
1>Task "SetEnv"
1>  INCLUDE=D:\u8vc\USBview\C++\;C:\VS2013\VC\include;C:\VS2013\VC\atlmfc\include;;

【问题讨论】:

标签: visual-studio-2013 msbuild


【解决方案1】:

最简单的方法可能是调整 msbuild 日志设置,以便将 INCLUDE/LIB/PATH 环境变量打印到输出窗口。在 Visual Studio 的选项中,您可以:

  • Projects and Solutions->VC++ Project Settings->Show Envirohnment In Log 设置为Yes
  • Projects and Solutions->Build and Run->MSBuild project build output verbosity 设置为DetailedDiagnostic

然后在构建日志中 grep 为 INCLUDE 等

对于命令行构建,使用带有 MSBuild 的 /v:d 开关。

【讨论】:

  • 在预构建事件中输入“set include”是另一种简单的查找方法。
  • 谢谢,汉斯。这是个好主意。
猜你喜欢
  • 2023-03-31
  • 2015-07-27
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 2013-11-05
相关资源
最近更新 更多