Хорошо, поэтому я использую Visual Studio 2012 в Windows 7 x64 для программирования и компиляции. Мое приложение прекрасно работает, но когда я пытаюсь выполнить его с виртуальной машины Windows XP с пакетом обновления 3 (SP3), я сразу же получаю "xxxx.exe недействительное приложение win32".
Приложение скомпилируется со статической ссылкой, то есть с /MT. Я установил _WIN32_WINNT в 0x0501 в targetver.exe; менеджер конфигурации настроен на Win32, а целевая машина в дополнительных параметрах Linker установлена на MACHINEX86.
My targetver.h выглядит так:
#include <winsdkver.h>
#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501
#include <SDKDDKVer.h>
Я также попытался скомпилировать с /MD и установить .NET Framework, что тоже не помогло.
Я не знаю, и я действительно мог бы использовать некоторую помощь, поскольку мне нужно, чтобы она работала для Windows XP. Спасибо заранее.