在Ubuntu下,使用Golang编译程序时,可以通过设置环境变量GOOS
和GOARCH
来指定目标操作系统和架构。此外,还可以设置其他编译参数,例如CGO_ENABLED
、CC
等。
以下是一些常用的编译参数:
GOOS
: 目标操作系统,例如linux
、windows
、darwin
(macOS)等。GOARCH
: 目标架构,例如amd64
、386
、arm
等。CGO_ENABLED
: 是否启用cgo,默认值为1(启用)。如果设置为0,则禁用cgo。CC
: C编译器,可以用来指定交叉编译时的C编译器。
示例:编译一个适用于Linux系统的amd64架构的程序
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o myprogram
示例:编译一个适用于Windows系统的amd64架构的程序
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o myprogram.exe
示例:编译一个适用于Linux系统的arm架构的程序
GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -o myprogram
注意:在交叉编译时,可能需要设置其他环境变量,例如CGO_CFLAGS
、CGO_LDFLAGS
等。具体取决于你的程序是否依赖于C库以及需要链接哪些库。