開發過程中,遇到一個問題。
客戶服務器端為32位Windows系統,軟件系統必須編譯成32位系統才能在客戶端正常運行。
本人開發環境:
Win7旗艦版64位
Golang 1.8 64位
TMD-GCC5.1 64位
在此情況下,使用批處理文件如下:
set GOOS=windows set GOARCH=386 set CGO_ENABLED=1 go build pcms pause
系統調用go-sqlite3,使用cgo調用,會報出編譯錯誤,原因就是gcc調用的異常
使用交叉編譯的方式總不能解決問題,最終解決方法如下:
1、安裝32位的golang1.8版本
2、安裝32位的tmd-gcc
3、重新執行上面的bat批處理命令,運行成功