我在64位系統中編寫了一個Go程序,但我想編譯一個32位二進制文件!我該怎麼做? 64位二進制工作正常,但我不知道如何創建一個32位二進制。 如果有人能幫助我,我將非常感激!在64位系統上編譯32位二進制
在此先感謝!
PS:我正在使用Windows操作系統。
我在64位系統中編寫了一個Go程序,但我想編譯一個32位二進制文件!我該怎麼做? 64位二進制工作正常,但我不知道如何創建一個32位二進制。 如果有人能幫助我,我將非常感激!在64位系統上編譯32位二進制
在此先感謝!
PS:我正在使用Windows操作系統。
如果您從源代碼構建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的程序了。在調用windows/386的任何命令之前,請確保set GOARCH=386
。
一個警告:這不支持cgo
,所以你不能使用任何使用cgo
的軟件包。
好的,我終於解決了這個問題!在這裏,我是這麼做的(我真的很失敗!)。
我做的第一件事是從http://www.mingw.org/下載GCC。 接下來將C:\ MinGW \ bin添加到PATH環境變量中(我假設MinGW安裝在C:\ MinGw中) 運行go build/go install之前的下一件事是設置環境變量。 打開命令提示符並轉到C:\ Go \ src並從命令行運行all.bat。 然後,您必須將GOOS,GOARCH和CGO_ENABLED分別設置爲窗口386和0(您還應該將GOPATH設置爲當前Go項目的路徑)。然後運行make.bat和make.bat --no-clean 之後,您可以構建32位系統的項目!我希望這是有幫助的!
我有我的Windows 7 64位PC首次具有窗戶上實現這一點(沒有編譯器的任何編譯)方式AMD64安裝,然後download 32bit拉鍊和解壓到第二個文件夾:
\go\go32
\go\go64
屆時調整我的命令提示符窗口內PATH
和GOROOT
如下:
set PATH=\go\go32;%PATH%
set GOROOT=\go\go32\
然後我回去,並重新編譯我的應用程序以前使用64位編譯。如果您想定期切換,所有這些都可以批量設置。
爲我工作,但必須將PATH設置爲go32 \ BIN文件夾。 – user3523091
你在用什麼IDE? –
我沒有使用任何IDE。只是一個文本編輯器和命令行。無論如何,是否有可能在VS編譯去代碼? – pluralism
嘗試使用GOARCH環境變量,如下所示:http://stackoverflow.com/questions/7786492/how-do-you-build-the-8g-and-6g-go-compilers-for-go –