将Golang程序 在windows下编译成Linux下可执行的二进制文件并且执行
设置编译环境
在xx.go所在的的文件夹下按sheet+鼠标右键在dos下打开,执行下面的命令
set GOARCH=amd64
set GOOS=linux
go build xx.go
会生成一个没有后缀的xx二进制文件
将该文件放入linux系统某个文件夹下
赋予权限
chmod 777 xx
执行
./xx
运行成功,该二进制文件不需要go的任何依赖,可以直接运行。
//filepath: 要编译的文件的路径
func build(filepath string){
_ = os.Setenv("CGO_ENABLED", "0")
_ = os.Setenv("GOARCH", "amd64")
_ = os.Setenv("GOOS", "linux")
arg := []string{"build", filepath}
if err := exec.Command("go", arg...).Run(); err!=nil {
fmt.Println("编译失败:", err)
} else{
fmt.Println("编译成功")
}
}
func main() {
build(`C:\cron\main.go`)//要编译的文件的路径
}
有疑问加站长微信联系(非本文作者)