相关疑难解决方法(0)

从Windows到Linux/Ubuntu进行1.7交叉编译

我在Windows 10上安装了GO 1.7.我创建了测试程序,它在Windows中运行良好.下一步是尝试使用Ubuntu在我的docker虚拟机上运行它.

我在这里找到一些关于如何做到这一点的信息

set GOARCH=amd64
set GOOS=linux
go tool dist install -v pkg/runtime
go install -v -a std
Run Code Online (Sandbox Code Playgroud)

我在cmd中运行第1行和第2行,没有问题.在第3行,我有一个错误

go tool dist: open C:\Go\src\pkg\runtime: The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)

我手动检查这个文件夹,只有Windows的运行时

在此输入图像描述

问题是我在哪里以及如何下载它?或者也许我正在做的是完全错误的方式......

更新09/02/2017

我按照建议跑了

set GOARCH=amd64
set GOOS=linux
go build -o "myapp"
Run Code Online (Sandbox Code Playgroud)

将此文件复制到共享文件夹后,将表单复制到另一个非共享文件夹(以避免此处描述的问题)并执行

root@7dd1655ae5db:/__notshared# ./myapp
bash: ./myapp: cannot execute binary file: Exec format error
Run Code Online (Sandbox Code Playgroud)

我下载文件包后检查了我的文件

root@7dd1655ae5db:/__notshared# file myapp
myapp: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
Run Code Online (Sandbox Code Playgroud)

似乎在构建期间没有创建linux可执行文件.

cross-platform go

7
推荐指数
2
解决办法
8152
查看次数

如何在Windows 10上交叉编译Go程序

我想为Linux机器编译Go程序。我一直使用这里描述的方式:

如何从Windows交叉编译到Linux?

这工作得很好,直到从Windows 10,现在是最后的大更新,我不能够设置GOOS

set GOOS=linux
Run Code Online (Sandbox Code Playgroud)

我也尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。有什么工具可以做到这一点?还是有另一种方法可以在Windows 10上交叉编译Go程序?

windows powershell cross-compiling go

5
推荐指数
1
解决办法
1226
查看次数

我无法使用交叉编译器

我想在 Windows 10 for Linux (Ubuntu) 中编译我的 Go 代码。

我使用命令:

SET GOOS=linux
SET GOARCH=amd64
go build .\main.go
Run Code Online (Sandbox Code Playgroud)

但编译器会创建一个 .exe 文件。

如何在Linux下交叉编译这段代码?

cross-compiling go

0
推荐指数
1
解决办法
1088
查看次数