好的,所以我在Windows 7 x64中使用Visual Studio 2012进行编程和编译。我的应用程序可以正常工作,但当我尝试从Windows XP SP3虚拟机中执行它时,我立即收到“xxxx.exe不是有效的win32应用程序”的错误提示。
该应用程序正在使用静态链接进行编译,也就是说,使用了/MT
选项。我已将targetver.exe中的_WIN32_WINNT设置为0x0501;配置管理器设置为Win32,在中设置目标机器为MACHINEX86。
我的targetver.h文件如下:
#include <winsdkver.h>
#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501
#include <SDKDDKVer.h>
我还尝试了使用/MD
编译并安装.NET Framework,但这也没有帮助。
我一筹莫展,真的需要一些帮助,因为我需要它能在Windows XP上运行。
Visual Studio
不是一种编程语言;它是一个开发环境。它支持许多语言(C#、VB.NET、C++等)。你正在使用的 语言 是 C++,这就是你应该解决问题的东西。通常语言和 IDE 之间有一个重要的区别。:-) - Ken White