在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库以及需要链接哪些库。