Windows SDKで32bit→64bitのクロスコンパイルをする方法
Windows SDK でクロスコンパイル
Windows SDK は、マイクロソフトが提供するアプリケーション開発キットです。
まあ、自分はもっぱらCソースのコマンドラインコンパイルに使用していますが。
無料で手に入るツールではありますが、VCのソリューションのビルド、32bitマシーンでの64bitマシン向けアプリケーション作成が可能です。
今日はその中で、32bitマシーンでの64bitマシン向けアプリケーションを作成する方法を紹介します。
私は下記の方法で、WinXP Pro 32bit から Win7 Pro 64bit へのクロスコンパイルに成功してます。
知識ではなく、自分の体験も話さないとですね。
1.通常通りWindows SDKのコマンドラインツール(CMD Shell)を実行します。
2.以下のコマンドを入力する
> SetEnv /x64
3.後は通常通り、コンパイル・リンクする。
参考 SetEnv のヘルプ
ターゲットとするOSも変更出来るようです。
Usage: "Setenv [/Debug | /Release][/x86 | /x64 | /ia64][/vista | /xp | /2003 | /2008 | /win7][-h | /?]"
/Debug - Create a Debug configuration build environment
/Release - Create a Release configuration build environment
/x86 - Create 32-bit x86 applications
/x64 - Create 64-bit x64 applications
/ia64 - Create 64-bit ia64 applications
/vista - Windows Vista applications
/xp - Create Windows XP SP2 applications
/2003 - Create Windows Server 2003 applications
/2008 - Create Windows Server 2008 or Vista SP1 applications
/win7 - Create Windows 7 applications