使用1.5.x进行交叉编译 - 覆盖输出文件

时间:2015-11-11 07:46:37

标签: go

我正在使用go 1.5,我正在交叉编译,如指定的here

问题在于,在编译项目时,它将覆盖最后一次编译创建的二进制文件。此外 - 我永远不会知道我正在运行的可执行文件被编译到哪个OS / ARCH(在任何情况下都不是windows)。

有没有办法在编译命令重命名文件?

2 个答案:

答案 0 :(得分:2)

从您关联的页面:

  

-o可用于更改二进制文件的名称和目标,但请记住,go build需要一个相对于$ GOPATH / src而不是工作目录的值,因此更改目录然后执行go build命令也是一种选择。

如果您在名称中使用GOOSGOARCH,那么您应该能够实现自己想要的目标。

答案 1 :(得分:2)

您可以使用" -o"论点,像这样:

GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o test/output/myapp