Golang跨平台编译
目录
golang cgo 到 Windows 的交叉编译
本篇记录在 MaxOS 下 cgo 交叉编译的解决方案。因为在项目中使用 go-sqlite3 ,编译 go-sqlite3 中需要使用到 cgo。在 MacOS 下编译 Go 原生 Linux 和 Windows 的程序使用以下命令:
|
|
如果使用 cgo 的话,还需要添加 CGO_ENABLED
参数:
|
|
但是这种编译 go-sqlite3 的代码会出现以下错误:
|
|
因为 Windows 中使用 MinGW,MacOS 下如果交叉编译需要安装 C/C++ 交叉编译工具:
|
|
安装完工具之后就可以使用命令:
|
|
注意参数: CXX=x86_64-w64-mingw32-g++
,如果缺少这个参数时,可能会出现错误:
|
|