一、起因
工作中需要把 Golang 项目交叉编译成为Linux下可执行的二进制文件,但是由于本人电脑是 Windows 10,所以需要跨平台交叉编译。在 Windows下直接编译的话,会直接生成 *.exe
的可执行文件。Linux 环境下的可执行文件为二进制。还好 Golang 可以跨平台编译。
二、方法
普通的编译方法为
go build main.go
这样就会在工作目录下生成一个 main.exe
的可执行文件。
如果编译到Linux平台,可以添加设置
set GOOS=linux //设置目标平台
set GOARCH=amd64 //设置目标架构
go build example.exe mian.go
这样就可以在 Windows 系统下编译 Linux 的 Golang 项目了。
三、问题
因为一个项目中包含了俩个编译脚本,所以把编译命令写在了 build.sh
文件内,用来实现项目的一键编译,但是出现了如下错误:
cannot find