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

在Windows机器上运行IDE,但在Linux机器上测试/运行应用程序?,ide,go,Ide,Go,我正在用围棋迈出第一步 我的工作站在Windows上,我正在使用JetBrains IDE进行开发。通常,我已经将网络磁盘(通过SSH)装载到Linux机器上。在这个环境中,使用PHP、Javascript(用于节点)和Python等解释语言进行编码和调试非常方便。但对于像Go这样的编译语言来说,这绝对是丑陋的 为了编写Go代码,我使用IntelliJ IDEA的Go插件。是否可以为此插件定义一个远程Go编译器(将在远程Linux机器上运行) 由于Go是一种编译语言,这种开发设置不像脚本语言那么

我正在用围棋迈出第一步

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


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

由于Go是一种编译语言,这种开发设置不像脚本语言那么容易。要在Windows下编译Linux二进制文件,必须设置交叉编译环境。您可以从golang.org下载的二进制软件包只支持它们运行的平台(即Windows编译器只生成Windows二进制文件),因此您必须从源代码处编译。对交叉编译做了一个很好的介绍-一定要阅读“注意事项”一节,以防它们适用于您的情况。按照本文所述构建Go之后,您将拥有名为“Go-linux-amd64”(“Go-[os]-[architecture]”)的“Go”工具的“克隆”,您可以使用它为其他平台编译二进制文件


< > > >编辑: Dave Cheney已经编写了在GO 1.5(在8月到期)中可用的改进的交叉编译。

< P>可以考虑即将到来的GO 1.5(Q3 2015),这将使所有交叉编译过程变得更简单。 “交叉编译环境”更容易获得,因为它完全基于Go

在“
)

对于成功的交叉编译,您需要

  • 目标平台的编译器,如果它们不同于您的主机平台,即您在darwin/amd64(6g)上,并且您希望为linux/arm(5g)编译
  • 目标平台的标准库,其中包括在构建Go发行版时生成的一些文件
随着计划在1.5版本中实现,第一个问题现在已经解决

为达尔文/386构建

或为linux/arm构建


你可以考虑调查一下。
package main

import "fmt"
import "runtime"

func main() {
        fmt.Printf("Hello %s/%s\n", runtime.GOOS, runtime.GOARCH)
}
% env GOOS=darwin GOARCH=386 go build hello.go
# scp to darwin host
$ ./hello
Hello darwin/386
% env GOOS=linux GOARCH=arm GOARM=7 go build hello.go
# scp to linux host
$ ./hello
Hello linux/arm