這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。摘要: 在Windows平台使用LiteIDE編譯golang程式為*.exe可執行檔,但是我們有時候需要編譯linux下可執行檔程式怎麼辦,我們在LiteIDE下載入跨編譯選項,編譯報錯go build runtime: linux/amd64 must be bootstrapped using make.bat,我們如何解決這個問題呢?
1,在windows環境下使用交叉編譯,需要編譯工具GCC,必須使用MinGW:
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download
安裝完成後運行MinGW Installation Mannger
選擇安裝mingw32-ggc-g++
安裝完成後設定環境變數,系統內容變數PATH中靠前的位置添加C:\MinGW\bin(安裝目錄)
註:如果出現類似這樣的錯誤counld not be located in the dynamic link libintl-8.dll,是這個dll衝突了,將所有其他目錄libintl-8.dll全部更名,防止衝突,記得編譯完之後要改回來不然影響其他程式正常運行,如下:
2,在golang(目前的版本go 1.3.3)安裝目錄下C:\Go\src目錄下建立cc.bat檔案(名字任取),內容如下:
set CGO_ENABLED=0:::::::::::::::::::::x86:::::::::::::::::::::::::::::::::::::::set GOARCH=386set GOOS=windowscall make.bat --no-clean set GOOS=linuxcall make.bat --no-clean ::set GOOS=freebsd::call make.bat --no-clean ::set GOOS=darwin::call make.bat --no-clean:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::x64:::::::::::::::::::::::::::::::::::::::set GOARCH=amd64set GOOS=linuxcall make.bat --no-clean::set GOOS=freebsd::call make.bat --no-clean ::set GOOS=darwin::call make.bat --no-clean:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::arm::::::::::::::::::::::::::::::::::::::::set GOARCH=arm::set GOOS=linux::call make.bat --no-clean:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::install gocode::::::::::::::::::::::::::::set GOARCH=386set GOOS=windowsgo get github.com/nsf/gocodepause
完了之後,雙擊運行批次檔,一個漫長的編譯過程,沒有報錯的話那麼就恭喜你成功了:)
(查看bin目錄和pkg目錄是否有相關平台的執行檔案和包產生)
3,開啟LiteIDE x24選擇編譯linux可執行檔(上面的批次檔並不是所有的平台都編譯了,可執行增加)
然後編譯器,在源檔案目錄下發現linux可執行檔已經成功產生了!