Goプログラムを64ビットシステムでコーディングしましたが、32ビットバイナリをコンパイルしたいと思います。
64ビットバイナリはうまく機能していますが、32ビットバイナリを作成する方法がわかりません。
どうすればできますか?
ソースからGoをビルドした場合は、任意のCPUおよびOS用の追加のコンパイラーおよびライブラリーをビルドできます。 windows/AMD64を使用していて、windows/386用にビルドする場合は、windows/386用にコンパイルする必要があるすべてをビルドします。
set GOARCH=386
cd %GOROOT%\src
make.bat --no-clean
それが終わったら、次のコマンドでwindows/386実行可能ファイルをビルドできます。
set GOARCH=386
cd %YOUR_PROG_DIR%
go build
Windows/AMD64を使用しているので、Windows/386プログラムも実行/テストできるはずです。ただset GOARCH=386
Windows/386のコマンドを呼び出す前。
注意点:これはcgo
をサポートしないため、cgo
を使用するパッケージは使用できません。
Windows 7 64ビットPCでこれを(コンパイラーをコンパイルせずに)達成する方法は、最初にWindows AMD64をインストールし、次に download 32bit Zipして2番目のフォルダーに解凍することでした。
\go\go32
\go\go64
次に、コマンドプロンプトウィンドウ内のPATH
とGOROOT
を次のように調整します。
set PATH=\go\go32;%PATH%
set GOROOT=\go\go32\
次に戻って、以前64ビットを使用してコンパイルしていたアプリを再コンパイルしました。定期的に切り替えたい場合は、これらすべてを一括で設定できます。
はい、ようやく問題を解決しました!ここにそれが私がやった方法です(私は実際に惨めに失敗しました!)。
次にC:\ MinGW\binをPATH環境変数に追加します(MinGWがC:\ MinGwにインストールされていると想定しています)
Go build/go installを実行する前の次のことは、環境変数を設定することです。