在VS2015上使用sdk 7.1构建

时间:2016-05-21 19:19:10

标签: visual-studio visual-c++ msbuild

我安装了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.

无法弄清问题是什么..

1 个答案:

答案 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文件夹。

瞧!瞧!希望这有帮助