在Ubuntu中,使用Golang编译程序时,可以通过设置环境变量GOOS和GOARCH来指定目标操作系统和架构。此外,还可以设置其他编译参数,例如CGO_ENABLED、CC、CXX等。
以下是一些常见的编译参数设置示例:
- 编译为Linux系统的可执行文件:
GOOS=linux GOARCH=amd64 go build -o myapp
- 编译为Windows系统的可执行文件:
GOOS=windows GOARCH=amd64 go build -o myapp.exe
- 编译为macOS系统的可执行文件:
GOOS=darwin GOARCH=amd64 go build -o myapp
- 禁用CGO(静态编译):
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o myapp
- 指定C编译器:
CC=/usr/bin/gcc GOOS=linux GOARCH=amd64 go build -o myapp
- 指定C++编译器:
CXX=/usr/bin/g++ GOOS=linux GOARCH=amd64 go build -o myapp
注意:在设置环境变量时,可以使用export命令,例如export GOOS=linux。这样设置的环境变量将在当前的shell会话中生效。如果要在每次打开新的shell会话时自动设置环境变量,可以将这些命令添加到~/.bashrc或~/.profile文件中。