主页

默认go 是支持跨平台编译的,但是如果我们引入了c语言,那么go就不支持了,需要提供CC=XXXXXX 交叉语言环境。
交叉编译环境为了搭建方便,可以使用crosstool-ng,搭建请参阅博客另外一篇文章。
搭建完成后,配置PATH路径,或者使用全路径交叉编译器的gcc路径。

CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC=x86_64-unknown-linux-gnu-gcc CGO_LDFLAGS="-static" go build -o amd64_app

命令详解:
CGO_ENABLED=1 开启cgo编译
GOOS=linux 目标系统类型
GOARCH=amd64 目标系统构架
CC=x86_64-unknown-linux-gnu-gcc 指定gcc编译器为交叉编译器
CGO_LDFLAGS="-static" 指定gcc编译器为静态编译,依赖全部打包进去,防止编译后无法运行的情况。
go build go语言程序编译
-o amd64_app 指定输出文件名为amd64_app

版权属于:WANYL
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
0

目录

来自 《go cgo程序交叉编译CGO_ENABLED=1 》
评论

WANYL

博主很懒,啥都没有
125 文章数
0 评论量
11 分类数
126 页面数
已在风雨中度过 3年357天9小时1分