首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows机器上使用IDE,但是在Linux机器上测试/运行应用程序?

在Windows机器上使用IDE,但是在Linux机器上测试/运行应用程序?
EN

Stack Overflow用户
提问于 2014-03-23 21:39:46
回答 2查看 691关注 0票数 0

我在用Go做第一步。

我的工作站在Windows上,我正在使用JetBrains IDE进行开发。通常,我会将网络磁盘(通过SSH)安装到Linux机器上。这个环境非常适合使用PHP、Javascript (用于Node)、Python等解释语言进行编码和调试。但是对于Go这样的编译语言来说,这是绝对丑陋的。

为了编写Go代码,我使用了用于IntelliJ IDEA的Go插件。是否可以为这个插件定义一个远程Go编译器(将在远程Linux机器上运行它)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-24 04:33:15

由于Go是一种编译语言,这种开发设置并不像脚本语言那样容易。要在Windows下编译Linux二进制文件,您必须设置一个交叉编译环境。您可以从golang.org下载的二进制包只支持它们在其上运行的平台(即,Windows编译器只生成Windows二进制文件),因此您必须从源代码编译。这篇博客文章很好地介绍了交叉编译--确保阅读“注意事项”部分,以防这些内容适用于您的情况。如本文所述,构建Go之后,您将拥有名为“building as 64”(“go architecture”)的"go“工具的”克隆“,您可以使用该工具为其他平台编译二进制文件。

编辑: Dave已经在Go 1.5中编写了另一篇博文,该版本的交叉编译功能有了很大的改进(定于8月份发布)。

票数 2
EN

Stack Overflow用户

发布于 2015-03-03 10:10:07

您可以考虑即将推出的Go 1.5 (Q3 2015),这将使所有交叉编译过程更加简单。

“交叉编译环境”更容易获得,因为它完全基于Go。

切尼在"交叉编译在Go 1.5中得到了更好的结果“中详细介绍了新闻

)

要获得成功的交叉编译,您需要

  • 目标平台的编译器,如果它们与您的主机平台不同,即您在达尔文/ and 64 (6g)上,并且希望为linux/arm (5g)编译。
  • 为目标平台构建了一个标准库,其中包括在Go发行版点生成的一些文件。

随着将Go编译器进入Go翻译成1.5版本的计划,第一个问题现在已经解决了。

代码语言:javascript
运行
复制
package main

import "fmt"
import "runtime"

func main() {
        fmt.Printf("Hello %s/%s\n", runtime.GOOS, runtime.GOARCH)
}

为达尔文/386建造

代码语言:javascript
运行
复制
% env GOOS=darwin GOARCH=386 go build hello.go
# scp to darwin host
$ ./hello
Hello darwin/386

或为linux/arm构建

代码语言:javascript
运行
复制
% env GOOS=linux GOARCH=arm GOARM=7 go build hello.go
# scp to linux host
$ ./hello
Hello linux/arm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22597450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档