我安装了Visual Studio 2015,我需要使用Visual C ++ 2010编译器编译一个特定项目,该编译器包含在SDK 7.1中。
我想在VS2015中使用2010编译器,而不安装VS2010。 所以,我安装了它(SDK)和" Visual Studio 2010(v100)"," Windows7.1SDK"选项显示在"平台工具集"项目属性中的属性。 但是,当我尝试构建项目时,我得到了这些错误:
使用" Windows7.1SDK" -
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(146,5): error : Required file "" is missing.
并使用" Visual Studio 2010(v100)" -
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(297,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(146,5): error : Required file "" is missing.
无法弄清问题是什么..
答案 0 :(得分:0)
我在2周内遇到了同样的问题,并找到了可能有用的解决方法:
不修改VS2010项目的任何内容(不更改vcxproj中的工具集),我使用命令行构建工具MSBuild工具,并将工具集指定为此处的开关Building C++ project on a PC with Windows SDK 7.1 but without VS2010
msbuild /p:PateformToolset=Windows7.1SDK project.vcxproj
(在我的例子中,相应的msbuild位于文件夹C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319)
如果Msbuild抛出错误告知其丢失的mspdb100.dll,则可能需要将%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE\
添加到%PATH%
env var。
最后,即使在安装了visual c ++更新之后,你可能会丢失一些文件,例如ammintrin.h(特别是如果像我一样,你尝试编译旧的InDesign插件)。
我在我的案例中发现的唯一(并且丑陋)的解决方法是不涉及安装VS2010(MS的常见答案)是将缺少的包含从%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\VC\include
文件夹复制到%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\include
文件夹。