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

Go 使用1.5.x进行交叉编译-覆盖输出文件,go,Go,我使用的是go 1.5,并且按照指定的方式进行交叉编译 问题是,在编译项目时,它将覆盖上次创建的编译的二进制文件。此外,我永远不会知道我正在运行的可执行文件是编译到哪个OS/ARCH的(在任何情况下都不是windows) 有没有办法在compile命令下重命名文件 从您链接到的页面: -o可用于更改二进制文件的名称和目标,但请记住,go build获取的值与$GOPATH/src相关,而不是与工作目录相关,因此更改目录然后执行go build命令也是一个选项 如果您在名称中使用GOOS和GOAR

我使用的是
go 1.5
,并且按照指定的方式进行交叉编译

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


有没有办法在compile命令下重命名文件

从您链接到的页面:

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

如果您在名称中使用
GOOS
GOARCH
,您应该能够实现您想要的目标。

您可以使用“-o”参数,如下所示:

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