转自http://tunps.com/error-msb8008
本机首先安装了VS 2010。然后昨天才安装上VSSSDK7.1。今天编译一个项目报错:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): error MSB8008: 指定的平台工具集(Windows7.1SDK)未安装或无效。请确保选择受支持的 PlatformToolset 值。
VS英文版报错:
Error 31 error MSB8008: Specified platform toolset (v110) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
打开文件 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets , Ctrl+G跳转到513,514行,内容如下:
<!-- Error out if the project references a missing platform toolset --> <VCMessage Code="MSB8008" Type="Error" Arguments="$(PlatformToolset)" Condition="!(exists('$(VCTargetsPath)\Platforms\x64\PlatformToolsets\$(PlatformToolset)\Microsoft.Cpp.x64.$(PlatformToolset).targets'))"/>
看来是Targets检查到平台工作集没找到?啥?你不知道啥叫平台工作集(PlatformToolSets)?打开 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets 目录你应该能看到两个目录v90和v100这就是VC 2010的两台平台工作集。作用通俗的叫就是配置的集合。
打开项目属性->配置属性->平台工作集,发现了一个叫Windows7.1SDK的东东。打开VS 2010里面的宏,搜索$(PlatformToolSets)的值也是Windows7.1SDK。这个就是VSSSDK7.1加上的。我们把这个修改为v100。问题就此解决。