C++ 使用Visual Studio 2012编译器为Windows XP生成Qt应用程序

C++ 使用Visual Studio 2012编译器为Windows XP生成Qt应用程序,c++,visual-studio,C++,Visual Studio,我知道自VS2012以来,微软已经停止了对Windows XP的支持。VS2012有一个更新,因此开发人员可以制作Windows XP支持的应用程序。现在我开始学习Qt库。我使用Qt Creator,我使用的编译器来自VS2012。有没有办法在Qt Creator中选择选项,以便它可以为XP生成有效的32位exe?还是在我的PC上安装VS2010并使用它的编译器更好?顺便说一句,我正在Windows 7上开发应用程序,一切正常。我们目前正在使用VS2012,并利用您提到的更新将我们的VC++二进

我知道自VS2012以来,微软已经停止了对Windows XP的支持。VS2012有一个更新,因此开发人员可以制作Windows XP支持的应用程序。现在我开始学习Qt库。我使用Qt Creator,我使用的编译器来自VS2012。有没有办法在Qt Creator中选择选项,以便它可以为XP生成有效的32位exe?还是在我的PC上安装VS2010并使用它的编译器更好?顺便说一句,我正在Windows 7上开发应用程序,一切正常。

我们目前正在使用VS2012,并利用您提到的更新将我们的VC++二进制文件定向到Windows XP。很好用。在Visual Studio中,我们通过转到项目属性、配置属性->常规->平台工具集并选择Visual Studio 2012-Windows XP v110\u XP来实现这一点

检查编译器命令行选项配置属性->C/C++->命令行,似乎告诉编译器以XP为目标的开关如下:

/D "_USING_V110_SDK71_"
和在链接命令行选项中:

/SUBSYSTEM:WINDOWS,5.01
/SUBSYSTEM:WINDOWS,5.02
第一个用于x86,第二个用于x64,仅使用一个。如果是控制台应用程序,请改用以下方法:

/SUBSYSTEM:CONSOLE,5.01
/SUBSYSTEM:CONSOLE,5.02
我更改了平台工具集,这些都消失了,所以我想它们是您所需要的。在QtCreator中,您应该相应地编辑编译器和链接器命令行选项


编辑:如果不起作用,请尝试上的“从命令行定位”部分中的说明。

我们目前正在使用VS2012,并利用您提到的更新将我们的VC++二进制文件定位到Windows XP。很好用。在Visual Studio中,我们通过转到项目属性、配置属性->常规->平台工具集并选择Visual Studio 2012-Windows XP v110\u XP来实现这一点

检查编译器命令行选项配置属性->C/C++->命令行,似乎告诉编译器以XP为目标的开关如下:

/D "_USING_V110_SDK71_"
和在链接命令行选项中:

/SUBSYSTEM:WINDOWS,5.01
/SUBSYSTEM:WINDOWS,5.02
第一个用于x86,第二个用于x64,仅使用一个。如果是控制台应用程序,请改用以下方法:

/SUBSYSTEM:CONSOLE,5.01
/SUBSYSTEM:CONSOLE,5.02
我更改了平台工具集,这些都消失了,所以我想它们是您所需要的。在QtCreator中,您应该相应地编辑编译器和链接器命令行选项


编辑:如果不起作用,请尝试上的命令行部分中的“目标定位”部分的说明。

谢谢您的回复。我试试看。但是我不熟悉通过命令行设置选项,如果我做不到,在我的电脑上安装VS 2010并使用它的编译器会有问题吗?有什么东西可以在VS2012上工作,但在VS2010上不工作吗?如果你走VS2010的路,与VS2012相比,你将失去一些C++11特性。讨论细节。如果你不使用任何一种,并且确信你将来不会需要它们,那么当然,试试吧。我有VS2012、VS2010和VS2008在我的盒子里,它们不会互相混淆,如果你担心的话,除了C++ 11个特性之外,其他的C++特性也会被讨论。我将安装VS2010并使用它的编译器。我还在学习,所以我不必做需要C++11特性的大项目。这只是我的爱好:再次感谢您的帮助:@user3038079:您可能不需要它们,但它们非常有用。如果你还在学习,也许会更多:你不妨学习现代技术,而不是过时的方法。例如,对于自动对象:MyObject,这也适用于Qt容器谢谢您的回复。我试试看。但是我不熟悉通过命令行设置选项,如果我做不到,在我的电脑上安装VS 2010并使用它的编译器会有问题吗?有什么东西可以在VS2012上工作,但在VS2010上不工作吗?如果你走VS2010的路,与VS2012相比,你将失去一些C++11特性。讨论细节。如果你不使用任何一种,并且确信你将来不会需要它们,那么当然,试试吧。我有VS2012、VS2010和VS2008在我的盒子里,它们不会互相混淆,如果你担心的话,除了C++ 11个特性之外,其他的C++特性也会被讨论。我将安装VS2010并使用它的编译器。我还在学习,所以我不必做需要C++11特性的大项目。这只是我的爱好:再次感谢您的帮助:@user3038079:您可能不需要它们,但它们非常有用。如果你还在学习,也许会更多:你不妨学习现代技术,而不是过时的方法。例如,对于自动对象:MyObject,这也适用于Qt容器