go 跨平台编译linux,golang 跨平台编译
只需要指定目標操作系統的平臺和處理器架構即可:
命令行方式
因為不支持CGO,所以要禁用CGO
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目標平臺是linux
SET GOARCH=amd64 // 目標處理器架構是amd64
然后再執行go build命令,得到的就是能夠在Linux平臺運行的可執行文件了。
Mac 下編譯 Linux 和 Windows 平臺 64位 可執行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux下編譯 Mac 和 Windows 平臺64位可執行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下編譯Mac平臺64位可執行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
make file 方式
# Binary name
BINARY=your_app_name
# Builds the project
build:
go build -o ${BINARY}
go test -v
# Installs our project: copies binaries
install:
go install
release:
# Clean
go clean
rm -rf *.gz
# Build for mac
go build
tar czvf ydict-mac64-${VERSION}.tar.gz ./ydict
# Build for linux
go clean
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
tar czvf your_app_name-linux64-${VERSION}.tar.gz ./ydict
# Build for win
go clean
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
tar czvf your_app_name-win64-${VERSION}.tar.gz ./ydict.exe
go clean
# Cleans our projects: deletes binaries
clean:
go clean
.PHONY: clean build
整個過程看起來非常簡單,運行起來也非常簡單,調用make release命令,并給VERSION變量賦值不同的版本號即可:
make release VERSION=0.9
命令會編譯出不同平臺可運行的壓縮包:
ydict-mac64-0.9.tar.gz
ydict-linux64-0.9.tar.gz
ydict-win64-0.9.tar.gz
總結
以上是生活随笔為你收集整理的go 跨平台编译linux,golang 跨平台编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.6.23 源码包安装报错
- 下一篇: sox处理mp3_音频处理常用Linux