我有以下盒子:

a)装有Eclipse CDT的Windows盒子, b)一个Linux盒子,我只能通过SSH访问。

编译器和构建和运行我的项目所需的硬件都只在机器B上。

我希望使用Eclipse CDT在Windows系统中“透明地”工作,并且能够在IDE中远程构建、运行和调试项目。

我如何设置它:

这幢大楼能工作吗?还有比编写本地makefile更简单的解决方案吗?这个本地makefile会对项目进行rsync,然后调用远程makefile来初始化实际的构建?Eclipse托管构建有相应的特性吗? 调试会工作吗? 最好- Eclipse CDT代码索引将工作?我是否必须将所有必需的头文件从机器B复制到机器A,并手动将它们添加到include路径?


当前回答

在这种情况下,您可以使用ptp eclipse https://eclipse.org/ptp/来浏览和构建源代码。

您可以使用这个插件来调试应用程序

http://marketplace.eclipse.org/content/direct-remote-c-debugging

其他回答

我解决这个问题的方法是:

windows:

使用samba从Linux机器导出“workspace”目录。 在本地窗口中挂载它。 运行Eclipse,使用挂载的“workspace”目录作为Eclipse工作空间。 导入您想要的项目并对其进行处理。

Linux:

使用sshfs挂载“workspace”目录 运行Eclipse。 运行Eclipse,使用挂载的“workspace”目录作为Eclipse工作空间。 导入您想要的项目并对其进行处理。

在这两种情况下,您既可以通过Eclipse构建和运行,也可以通过ssh在远程机器上构建。

最简单的方法是在Linux Box上运行Eclipse CDT,并使用X11-Forwarding或VNC等远程桌面软件。

当然,这只有在Linux机器上有Eclipse并且到机器的网络连接足够快的情况下才有可能。

这样做的好处是,由于所有东西都是本地的,所以不会出现同步问题,也不会出现任何尴尬的跨平台问题。

如果您的机器上没有eclipse,您可以考虑通过SMB(或SSHFS)共享您的linux工作目录,并从您的windows计算机访问它,但这将需要相当多的设置。

两者都比拥有两个副本要好,特别是当它是跨平台的时候。

在这种情况下,您可以使用ptp eclipse https://eclipse.org/ptp/来浏览和构建源代码。

您可以使用这个插件来调试应用程序

http://marketplace.eclipse.org/content/direct-remote-c-debugging

试试远程系统资源管理器(RSE)。它是一组插件,可以做您想做的事情。

RSE可能已经包含在当前的Eclipse安装中。要检查Eclipse Indigo,请到窗口>打开透视图>其他…并从打开透视图对话框中选择远程系统资源管理器来打开RSE透视图。

在Eclipse中从RSE透视图创建SSH远程项目:

定义一个新的连接,并在“新建连接”对话框中的“选择远程系统类型”窗口中选择“仅使用SSH”。 输入连接信息,然后选择Finish。 连接新主机。(假设SSH密钥已经设置。) 一旦连接,钻到主机的Sftp文件,选择一个文件夹,并从该项的上下文菜单中选择Create Remote Project。(在创建远程项目时等待。)

如果操作正确,现在应该有一个可以从project Explorer和eclipse中的其他透视图访问的新的远程项目。正确设置SSH连接后,密码可以成为正常SSH身份验证过程的可选部分。现在,通过SSH使用Eclipse创建了一个远程项目。

我尝试了ssh -X,但它慢得令人难以忍受。

我也尝试了RSE,但它甚至不支持用Makefile构建项目(我被告知,这已经改变了,因为我张贴了我的答案,但我还没有尝试过)

我读到NX的转发速度比X11快,但我不能让它工作。

最后,我发现我的服务器支持X2Go(如果你的服务器不支持,链接上有安装说明)。现在我只需要:

在服务器上下载并解包Eclipse, 在我的本地机器上安装X2Go (sudo apt-get install x2goclient on Ubuntu), 配置连接(主机,ssh密钥自动登录,选择运行Eclipse)。

一切就像我在一台本地机器上工作一样,包括构建、调试和代码索引。而且没有明显的滞后。