我使用Visual Studio 2012,这是我安装的唯一Visual Studio版本。我需要使用v90平台工具集(Visual Studio 2008)构建某些C ++项目,但我无法安装Visual Studio 2008。
我了解可以通过安装Windows SDK 7.0来使用v90平台工具集。究竟是怎么做到的?如果我只使用the web installer of 7.0 SP1,我仍然不会将v90视为可能的平台工具集之一。
答案 0 :(得分:9)
这是可能的,但显然需要一些机动和will not support building MFC applications。以下假定已安装VS2012更新4,但未安装VS2010和VS2008。
下载SDK 7.0 SP1的 x86 DVD(GRMSDK_EN_DVD.iso)。挂载ISO或提取其内容,并从Setup文件夹下的以下文件夹中手动安装MSI文件:
下载SDK 7.1的 x86 DVD(GRMSDK_EN_DVD.iso)。挂载ISO或提取其内容,并从上面列出的相同文件夹手动安装MSI文件(winsdk_intellidocs除外,它不存在)。
转到C:\Program Files (x86)\Microsoft Visual Studio 9.0
。将以下文件从Common7\IDE
复制到VC\bin
:
现在,您应该可以在Visual Studio 2012中选择v90平台工具集并使用它进行构建。
解释(和来源):
error MSB6006: "CL.exe" exited with code -1073741515
。答案 1 :(得分:2)
除了this answer我想添加
如果先删除Microsoft Visual C ++ 2010 Redistributables并修复以下注册表值,则可以通过运行安装程序来安装SDK 7.1:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
您可以(也可能应该)将这些值恢复为安装完成后的原始值。
此后不要忘记安装KB2519277,它会将SDK 7.1中的编译器更新为SP1。
您无需复制任何dll。 MSBuild使用
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC@ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC@ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS@ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VS@ProductDir
设置路径。将它们固定为指向"C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\"
和"C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\"
可能是明智之举,因为它可能在构建过程的其他地方有用。
如果您打算使用Windows7.1SDK工具集,则版本10.0也是如此。
使用WindowsSdkVer.exe
将当前SDK设置为7.1以消除Microsoft.Cpp.x64.Targets(63,5)中关于缺少未命名的所需文件的神秘错误。如果该工具给出错误,请手动设置这些值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows@CurrentInstallFolder
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows@CurrentInstallFolder
指向新安装的SDK。该工具需要Visual Studio安装中的一些注册表项才能正常工作,但有很多,我不确定哪些是重要的。
重新启动。以上都没有问你,但是没有重启我在尝试构建项目时遇到了错误。
顺便说一句,SDK7.1添加了v100工具集,但它不会工作,说一些Could not find WindowsSDKDir variable from the registry.
这是因为v100实际上需要SDK7.0A来使用Visual Studio 2010并不单独提供。 Windows7.1SDK工具集是在需要时使用VC2010编译器的工具集。
Microsoft.Cpp.Win32。*。props文件在构建系统出现故障时有很多相关内容。
答案 2 :(得分:1)
VS2013对Yodans的一个补充/更新回答:
我的工作设置:
我的错误:
P.S。同样的答案是解决这个问题: Visual Studio 2013: CL.exe exited with code -1073741515