go - 将 Windows 64 (TDM-GCC-64) 上的 Go 交叉编译为 .linux 文件,但尽管 GOOS=linux 仍继续编译为 .exe 文件

标签 go cross-compiling

我正在尝试将 .go 源文件编译为 .linux 文件。我在 Windows 7 64 位上使用 TDM-GCC-64。

我已将我的 GOOS 设置为“linux”。我还将 GOARCH 设置为 amd64。

然后我使用 make.bat 在 C:\Go\src 中重建 Go。这一切都成功运行。

编译运行成功,但每次它编译一个 Windows .exe,尽管设置了系统变量。

我的问题是如何解决这个问题 - 我做错了什么?

编辑:我在 TDM-GCC 之前安装了 MinGW,但没有用。

最佳答案

您可以测试这些值是否正在使用 echo 导出,如下所示:echo %GOOS%

如果您修改系统变量而不重新启动控制台,它将不会有新值。您应该尝试使用 set GOOS="linux"set GOARCH="amd64"

通过命令行导出

如果这不能解决问题,我会按照 Kluyg 发布的指南进行操作。

关于go - 将 Windows 64 (TDM-GCC-64) 上的 Go 交叉编译为 .linux 文件,但尽管 GOOS=linux 仍继续编译为 .exe 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22538057/

相关文章:

android - 为 Android 交叉编译时链接到 libgcc.a 时出错,但符号存在?

go - 在golang ssh session 关闭中将EOF作为错误

pointers - 如何定义接收指针的 Go 接口(interface)方法的实现?

go - 如何使用 Golang 设计多文件处理器?

android - 为 AOSP 开发设置 C++ IDE 项目(无 NDK)

windows - Qt - 在 Windows 上为 Linux 交叉编译

c++ - 如何在我的 Linux 主机上安装 Raspberry Pi 交叉编译器?

Golang amazon s3 如何更快地上传图像

Golang 相当于 Java 的 SHA256withRSA

c++ - 在较新的 Ubuntu 版本中为旧的 Ubuntu 版本编译 C/C++