我正在使用go 1.5
,我正在交叉编译,如指定的here。
问题在于,在编译项目时,它将覆盖最后一次编译创建的二进制文件。此外 - 我永远不会知道我正在运行的可执行文件被编译到哪个OS / ARCH(在任何情况下都不是windows)。
有没有办法在编译命令重命名文件?
答案 0 :(得分:2)
从您关联的页面:
-o可用于更改二进制文件的名称和目标,但请记住,go build需要一个相对于$ GOPATH / src而不是工作目录的值,因此更改目录然后执行go build命令也是一种选择。
如果您在名称中使用GOOS
和GOARCH
,那么您应该能够实现自己想要的目标。
答案 1 :(得分:2)
您可以使用" -o"论点,像这样:
GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o test/output/myapp