如何在 Ubuntu 中为 Windows XP 构建 Golang?
Golang版本:Go 1.13
Ubuntu 版本:Ubuntu 20.04.5 LTS(Focal Fossa)
Mingw-w64 版本:9.3 / 7.0.0-2
命令:
GOOS=windows GOARCH=386 CC=i686-w64-mingw32-gcc CGO_ENABLED=1 go build -o test.exe
在 Windows XP 中错误:
“不是有效的 win32 应用程序”
谢谢你
看来你必须使用 go 1.10.8 版本才能在 Windows XP 上构建 Golang。
golang 1.10.8
wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz
sudo tar -xvf go1.10.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
我以为可能还有别的办法,但除了这个。
Go 1.10.8 是正式支持 Windows XP 的最后一个版本,从那时起,已经实施了一些代码更改,这使得使用与其不兼容的新版本构建的二进制文件。
但是这些变化并不是很大,因此可以构建自定义版本的 Go,它具有与最新版本相同的功能,但创建的二进制文件也可以在 Windows XP 中运行。我开始在 https://github.com/fuddata/go4old-win 上开展这项工作,如果有人愿意贡献,我将很乐意接受拉取请求。