Visual Studio 2010 win32 编译的应用程序在 windows xp 上不起作用

Posted

技术标签:

【中文标题】Visual Studio 2010 win32 编译的应用程序在 windows xp 上不起作用【英文标题】:Visual Studio 2010 win32 compiled application does not work on windows xp 【发布时间】:2015-11-09 08:25:35 【问题描述】:

我正在开发一个应该在所有 Windows 平台上运行的项目。它是用 C++ 编写的,仅使用 Windows API。当我在 Windows XP 上的 Visual Studio 6 中编译它时,我可以在 Windows XP 上运行它。当我在 Visual Studio 2010 中运行它并在 Windows XP 上运行它时,它不起作用。我确实在 Windows XP SP3 上安装了 vcredist2010_x86vcredist2010sp1_x86 和 .NET 版本 3.5 和 4.0。但它仍然不起作用。我在我的项目中添加了以下预处理器符号:

#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501

但它仍然不起作用。我的 VS 2010 平台工具集是 v100

问题:我需要做什么才能使用 Visual Studio 2010 编译可以在 Windows XP 上执行的应用程序?

【问题讨论】:

您有任何编译警告或错误吗?当你尝试运行程序时到底发生了什么? 你设置了什么工具集平台? @ProXicT “我的 VS 2010 平台工具集是 v100。” - 看起来很不言自明。 @cup: 用于构建二进制文件的平台没有任何意义。 NTDDI_VERSION 为 0x05010300。见msdn.microsoft.com/en-us/library/windows/desktop/… 【参考方案1】:

我在 window_7_sp1_x64 上使用 VS2010_sp1 并使用“发布”模式。 我在包含部分之前添加了#define。 我已经将 NTDDI_VERSION 测试为 0x05010300 但问题仍然存在! win_xp 显示的错误是: “program.exe 遇到问题,需要关闭。” 我认为,程序需要在 windows xp 上安装 dll 或其他东西才能正常运行!

【讨论】:

以上是关于Visual Studio 2010 win32 编译的应用程序在 windows xp 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

#error : Xiron Platform Abstraction Layer - Win32 - Microsoft Visual Studio versions above 2010 (10

visual studio 2010 一个解决方案里有多个c++源文件 怎么只执行其中一个?

visual studio 2010怎么新建c语言文件

如何使用Visual Studio2010运行C语言

Visual Studio 2010 文件->新建->项目灰显

CMake 为 Win32 和 x64 生成 Visual Studio 2008 解决方案