2012-07-18 32 views

回答

14

是的,你可以在不更改vcxproj文件的情況下設置PlatformToolset。

如果你打開一個vcxproj文件,你會看到有一個PlatformToolset屬性。 對於visual studio 2012,它是v110;對於VS2010,它是v100;對於VS2008,它是v90。

你可以用/p:PlatformToolset=v110/v100/v90覆蓋此屬性來更改工具鏈。

注意:有時,msbuild失敗,錯誤Unsupported platformtoolset value,這主要是因爲您沒有指定VisualStudioVersion

+0

不適用於VS2012/2013 – KindDragon 2014-03-31 18:17:38

+1

@KindDragon:它應該適用於VS2012/2013,您能否提供更多信息? – Jichao 2014-04-01 02:56:14

+0

我認爲這是因爲我使用VS2010的msbuild。將路徑更改爲msbuild後,一切正常 – KindDragon 2014-04-03 08:12:17

0

從這裏http://msdn.microsoft.com/en-us/library/bb397428

它說,加入/ToolsVersion:3.5將構建它,就好像它是2008年VS項目

+0

忘了補充說它是一個C++項目。 ToolsVersion:3.5是.NET,對嗎? – sashoalm 2012-07-18 16:44:59

+0

正確:)雖然我認爲它適用於Visual Studio支持的所有語言 – ywm 2012-07-18 17:10:32

2

PlatformToolset被配置爲配置的PropertyGroup的一部分。

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
    <ConfigurationType>Application</ConfigurationType> 
    <UseDebugLibraries>true</UseDebugLibraries> 
    <CharacterSet>Unicode</CharacterSet> 
    <PlatformToolset>v90</PlatformToolset> 
</PropertyGroup> 

如果你想通過命令行工具集,更改,你應該添加的每個工具集,然後調用爲構建該配置(使用IDE輕鬆完成)的配置。

的MSBuild%s.vcxproj/T:重建/ P:配置= VC90Release,平臺=%s的

1

我找到了答案in MSDN

要使用的Visual C重建項目++ 9.0工具集,鍵入以下任一命令的 :

的msbuild myproject.vcxproj/p:PlatformToolset = V90 /噸:重建

相關問題