如何在 Ubuntu 中为 Windows XP 构建 Golang?

how to build Golang for windows xp in Ubuntu?

提问人:sangwook.ahn 提问时间:2/6/2023 更新时间:10/12/2023 访问量:231

问:

如何在 Ubuntu 中为 Windows XP 构建 Golang?

Golang 版本:Go 1.13 Ubuntu 版本:
Ubuntu 20.04.5 LTS (Focal Fossa)
Mingw-w64 版本:9.3 / 7.0.0-2

enter image description here

命令:
GOOS=windows GOARCH=386 CC=i686-w64-mingw32-gcc CGO_ENABLED=1 go build -o test.exe

enter image description here

在 Windows XP 中错误:“
不是有效的 win32 应用程序”

谢谢

Ubuntu Windows-XP mingw-w64

评论

3赞 JimB 2/6/2023
最低要求是 Windows 7。
0赞 sangwook.ahn 2/6/2023
引用的 github github.com/forensicanalysis/artifactcollector。这些 github 版本支持 Windows xp,它在 go.mod 文件中列为 1.16(之前的提交是 1.13)。我知道 Windows XP 在 golang 中最高支持 1.10 版,但我想知道是否有办法使用像 github 这样的更高版本进行编译,所以我问了。
0赞 David Makogon 2/7/2023
请不要上传代码/数据/错误的图像。
1赞 Paul K. 2/18/2023
Go 使用内置的操作系统函数。检查代码以确认所有类和方法在 Windows XP 中都可用,否则,应更改它。

答:

0赞 sangwook.ahn 2/24/2023 #1

似乎您必须使用 go 版本 1.10.8 才能在 Windows XP 上构建 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

我以为可能还有另一种方法,但除此之外别无他法。