1. 程式人生 > >MacOSX交叉編譯Win_x86的GoLang程式

MacOSX交叉編譯Win_x86的GoLang程式

        搞了個數暢的通視介面接收行情,可惜丫逼的只有個dll檔案,現在用mac book pro,虛擬機器跑xp卡的那是嗷嗷叫。於是又燃起了我那顆愛折騰的心。

        想法是這樣的,DLL是通過win的訊息機制主動推給訊息到窗體,Golang是可以通過第三方程式碼建立視窗控制訊息迴圈,同時也是可以呼叫dll的方法。

就可以把通視介面的資料用golang轉成web service。折騰GoLang是因為拿它做個webs簡直太輕鬆了,而且還可以在mac上寫,不用開vs。。

在mac上執行win程式可以拿wine來幹,先拿數暢5.3 執行下是可以正常拉到資料,這樣基本上就可以確定這條路子是可以通的了。


go執行指令碼:

export -p GOOS=windows 
export -p GOARCH=386
export -p GOPATH=$PWD
export -p GOBIN=$PWD/bin
pushd src
go install github.com/lxn/win
go install github.com/lxn/walk
popd
go run main.go

編譯執行時出現如下提示:

go build runtime: windows/386 must be bootstrapped using make.bash


解決方法就是  "把錯誤提示貼到谷歌去搜索!

"

是因為我用dmg安裝的golang,除了darwin下的編譯器,其他平臺的都木有。手動編譯如下:

cd $GOROOT/src
sudo GOOS=windows GOARCH=386 ./make.bash

ref: 

    http://tonybai.com/2014/10/20/cross-compilation-with-golang/