わかりましたので、プログラミングとコンパイルに 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>
また、.NET Framework でコンパイルし/MD
てインストールしようとしましたが、どちらも役に立ちませんでした。
私は無知で、Windows XP で動作させる必要があるため、実際に助けを求めることができます。