此前发布的VS 2012编译的 C++ 程序一直不支持Windows XP。在线反馈也有好多开发者对此有意见。最近微软态度有不少转变,不仅宣布VS 2012 Express可以开发桌面程序,也听取了这项关于让VS2012 C++程序支持XP的建议。下面是微软VC++团队博客上的文章。
VS 2012的C++程序将支持Windows XP
我们最近发布了Visual Studio(以下简称“VS”) 2012的产品线和所支持的平台,其中提到,我们正在评估加入一个选项,让C++开发者在VS 2012中生成的应用程序可以在XP上运行,而不用去安装VS 2010。现在我跟大家介绍下详细情况。
背景:VS 2012所带的C++运行时和程序库使用了一些Windows Vista以及以上版本的系统特有的API,这导致使用VS 2012中的C++编译器生成的应用程序不能在Windows XP上运行。Windows XP应用程序的开发者可以使用VS中针对C++程序的“多目标”功能,这样就可以在VS 2012开发环境中调用VS 2010的编译器。“多目标”功能允许开发者使用新版本IDE的新功能,而不必升级项目文件;也可以让VS 2012使用VS 2010中的编译器,从而使生成的应用程序可以在XP上运行。
评估多目标功能:VS 2012 Beta版本提供了使用和评估C++多目标功能的机会,部分Windows XP应用程序的开发者也使用过它。从在线反馈来看,客户希望做到下面两点,从而让VS 2012更好得满足Windows XP应用程序开发者的需求:
1.使用同一套编译器和工具链生成支持Windows XP以及更高版本的应用程序,而不是使用(不同编译器和工具链)为XP和Vista或以上版本分别构建应用程序。
2.使用同一份代码(允许使用C++11新功能)生成支持Windows XP以及更高版本的应用程序。
为了更好地满足客户关于支持XP平台的需求,我们决定增强多目标功能,以便直接使用VS2012的C++编译器和程序库,就可以生成支持Window XP的应用程序。
增强多目标功能 今年秋季,微软将会提供一个VS 2012的更新,让C++应用程序支持Windows XP平台。这个更新会修改VS 2012中的编译器、运行时以及程序库,使得开发者可以创建支持XP或更高版本系统的程序,同时也支持Windows Server 2003以及更高版本。我们最近宣布的VS 2012桌面版也会包含这个更新。