Go交叉编译windows程序
在启用CGO_ENABLED的情况下,尝试使用下面命令进行Windows平台的交叉编译:
CGO_ENABLED=1 GOOS=windows GOARCH=386 go build -x -v -ldflags "-s -w"
出现错误如下:
# runtime/cgo
gcc_libinit_windows.c:7:10: fatal error: 'windows.h' file not found
安装mingw-w64
brew install mingw-w64
编译64位
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ GOOS=windows GOARCH=amd64 go build
编译x86
CGO_ENABLED=1 CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ GOOS=windows GOARCH=386 go build