我在Visual Studio 2010上创建了一个项目。当我尝试在Visual Studio 2015社区版上运行该项目时,我收到以下错误,
严重级代码说明项目文件行 错误MSB8020找不到Visual Studio 2010(Platform Toolset ='v100')的构建工具。要使用v100构建工具进行构建,请安装Visual Studio 2010构建工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重新定位解决方案”来升级到当前的Visual Studio工具。 graphics C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.Cpp.Platform.targets 55
当我尝试使用Visual Studio 2015构建工具构建它时,我遇到了大约1500多个错误。
有没有办法让项目有效?
答案 0 :(得分:21)
如果您无法安装VS2010,Windows SDK for Windows 7包含所需的编译器工具(v100),您实际上可能会跳过安装SDK本身并仅安装编译器工具,头文件和库。请注意,Windows SDK中包含的编译器与VS2010相同,但VS2010 SP1的编译器更新一些。如果您需要,还需要安装Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1。但请注意,如果您安装这些,如果您决定安装VS2010,则可能会遇到问题,安装程序中存在需要您按严格顺序安装组件的错误。此外,如果您的代码使用MFC或ATL,您必须安装VS2010,安装Windows SDK是不够的。
答案 1 :(得分:9)
您可以安装VS 2010并构建项目,也可以更好地升级项目。 VS 2015自定义安装选项可让您安装v120
平台工具集,但不能安装v110
或v100
平台工具集。
VS 2015的一个重大变化是典型安装选项未安装C ++工具(即v140
)。请参阅Visual C++ Team Blog。
请记住,Visual C ++ 2010使用C ++ 0x Draft Standard,而Visual C ++ 2015符合C ++ 11标准,但表达式SFINAE(部分位于Update 1)除外,因此在这些年间,包括一些重大变化在内的情况发生了很大变化。由于您一次跳三个主要版本 - 大约10个小更新 - ,它可能有点压倒性,特别是在处理所有新警告时。
要记住的另一件事是Visual C ++ 2010使用Windows 7.1 SDK,而Visual C ++ 2012或更高版本使用Windows 8.x SDK。对于DirectX开发来说,特别是那里有很多变化。对于为您的目标平台设置_WIN32_WINNT
预处理器定义的Windows桌面应用程序而言,这一点尤其重要,因为Windows 8.x SDK不会默认使用最早支持的平台'像早期的Windows SDK一样。见Using the Windows Headers
VS 2010和
v100
工具集支持定位Windows XP和Windows Server 2003.v140
工具集不支持定位Windows XP / Server 2003.您必须使用v140_xp
Platform Toolset代替。有关注意事项,请参阅this post,因为这意味着您将再次使用Windows 7.1 SDK而不是带有_xp
工具集的Windows 8.x SDK。
请参阅Breaking Changes in Visual C++ 2012,Breaking Changes in Visual C++ 2013和Breaking Changes in Visual C++ 2015。
另请参阅Support For C++11/14/17 Features (Modern C++)和Where is the DirectX SDK?。
如果您需要使用VS 2010和VS 2015构建代码,那么您应该创建两个项目/解决方案文件,每个文件一个。您可能还想阅读this article以获取有关编写可以使用多个Visual C ++工具集构建的代码的一些注意事项,由于Windows SDK的更改,这也是特别具有挑战性的。
VS 2015支持定位Windows Vista SP2,Windows 7 SP1,Windows 8.0,Windows 8.1,Windows 10和Windows XP SP3。它不支持支持Windows Vista RTM,Windows Vista SP1或Windows 7 RTM。