gpt4 book ai didi

go - 如何为当前操作系统构建go包并将其输出到指定文件夹?

转载 作者:IT王子 更新时间:2023-10-29 01:08:18 24 4
gpt4 key购买 nike

当我运行 go build main.go 时,编译器将在同一文件夹中为当前操作系统输出一个二进制文件。在这种情况下,我会得到一个 main.exe 或一个用于 OSX 或 Linux 的 main

如果我指定一个输出,它将在 Windows 机器上构建时省略文件扩展名。

go build -o ./bin/myproject main.go

由于缺少文件扩展名,您无法在不重命名的情况下在 Windows 上运行输出的二进制文件。

我如何构建一个 go 项目,指定输出文件夹并获取为另一端的操作系统适当命名的二进制文件?

最佳答案

您可以在脚本中处理.exe 扩展的逻辑。像这样的东西:

#!/usr/bin/env bash

output="./bin/myproject"


if [ -n "$GOOS" ] && [ "$GOOS" = "windows" ]; then
output+='.exe'
fi

go build -o $output main.go

如果你调用它build.sh。您可以调用它:

bash build.sh # for using the `GOOS` defined in your environment
GOOS=windows bash build.sh # for building windows binaries (with `.exe` extension)

关于go - 如何为当前操作系统构建go包并将其输出到指定文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53824516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com