MacOSX交叉編譯Win_x86的GoLang程式
阿新 • • 發佈:2019-01-14
搞了個數暢的通視介面接收行情,可惜丫逼的只有個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/