2012-06-06 57 views
0

我希望通过更改PATH环境变量,使用替代工具集(cl.exe,link.exe等...)来构建我的解决方案。msbuild编译器%PATH%

当我使用“devenv MySolution.sln”构建解决方案时,它正确使用替代工具集(调用替代cl.exe而不是Visual C++ cl.exe)。当我使用MSBuild构建它时,它总是使用Visual C++编译器,而忽略我的PATH设置。

有没有解决这个问题的方法?有人知道我怎么才能让MSBuild通过解析%PATH%来调用编译器(当然,不需要修改我所有的项目和解决方案文件)。

+0

您是否打算使用VS2008的工具集?如果是这样,你应该使用多目标,http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx –

+0

你将不得不改变VC++目录+在项目中设置可执行目录,首先放置自定义路径。 –

回答

0

根据VCBuild Task Reference,您应该能够将ToolPath参数设置为您的替代工具集的所需路径。

不可否认,这并不像设置PATH环境变量那么舒服,而且我也没有尝试它,因为我现在手头没有VC++。 *

+0

Visual Studio 2010使用MSBuild代替VCBuild用于C++项目。因此,我不认为这个答案有多大帮助。 –

+0

我在引用MSBuild 3.5 VCBuild Task,所以我认为它应该解决实际问题;但正如我所说,我还没有试验它的机会。 – Filburt