我有以下方框:
-
带有Eclipse CDT的Windows框,
-
一个Linux机器,只能通过SSH访问我 .
构建和运行我的项目所需的编译器和硬件都只在机器B上 .
我想使用Eclipse CDT从该项目的Windows框中“透明地”工作,并能够在IDE中远程构建,运行和调试项目 .
我如何设置:
-
大楼会起作用吗?任何比编写本地makefile更简单的解决方案,然后调用远程makefile来启动实际构建? Eclipse托管构建是否具有此功能?
-
调试会有效吗?
-
最好 - Eclipse CDT代码索引可以工作吗?我是否必须将所有必需的头文件从机器B复制到机器A并将它们手动添加到包含路径?
7 回答
试试Remote System Explorer(RSE) . 这是一组完全符合您要求的插件 .
RSE可能已包含在您当前的Eclipse安装中 . 要检入Eclipse Indigo,请转到 Window > Open Perspective > Other... 并从Open Perspective对话框中选择 Remote System Explorer 以打开RSE透视图 .
要从Eclipse中的RSE透视图创建SSH远程项目:
定义新连接,并从“新建连接”对话框的“选择远程系统类型”屏幕中选择“仅限SSH” .
输入连接信息,然后选择完成 .
连接到新主机 . (假设已经设置了SSH密钥 . )
连接后,深入查看主机的Sftp文件,选择一个文件夹,然后从项目的上下文菜单中选择 Create Remote Project . (等待创建远程项目 . )
如果正确完成,现在应该可以从Project Explorer和eclipse中的其他视角访问新的远程项目 . 通过正确的SSH连接设置,密码可以成为正常SSH身份验证过程的可选部分 . 现在创建了一个使用Eclipse通过SSH的远程项目 .
最简单的方法是在Linux Box上运行Eclipse CDT并使用X11-Forwarding或远程桌面软件(如VNC) .
当然,这只有当Linux上的Eclipse存在且您的网络连接足够快时才可能 .
优点是,由于一切都是本地的,您不会遇到同步问题,并且您不会遇到任何棘手的跨平台问题 .
如果盒子上没有eclipse,你可以考虑通过SMB(或SSHFS)共享你的linux工作目录,并从你的windows机器访问它,但这需要相当多的设置 .
两者都比拥有两个副本更好,特别是当它是跨平台的时候 .
我自己(或曾经)在同一地点,我最后检查了Linux主机上的samba共享,并在带有记事本的Windows机器上本地编辑该共享,然后我通过PuTTY在Linux机器上编译 . (我们不允许在Linux主机上更新10个版本的编辑器,它没有Java,所以我放弃了X11转发)
现在......我在Windows主机上的VM中运行现代Linux,将我想要的所有工具(例如CDT)添加到VM,然后我签出并构建一个非常类似于RTE的chroot监狱 .
这是一个笨重的解决方案,但我想我会把它扔进去 .
除了使用sshfs之外,我的解决方案类似于SAMBA . 使用sshfs挂载我的远程服务器,在远程计算机上打开我的makefile项目 . 从那里开始
我似乎也可以通过这种方式运行GUI前端 .
构建我的远程代码非常简单:ssh address remote_make_command
我正在寻找一个体面的调试方法 . 可能通过gdbserver?
我在2年前遇到了同样的问题,我通过以下方式解决了这个问题:
1)我使用makefile构建我的项目,而不是由eclipse管理2)我使用SAMBA连接来编辑Eclipse中的文件3)构建项目:Eclipse使用makefile调用“本地”make,打开与Linux的SSH连接主办 . 在SSH命令行上,您可以提供在Linux主机上执行的参数 . 我在该参数中使用了一个makeit.sh shell脚本,该脚本在linux主机上调用“real”make . 构建的不同目标也可以通过linux主机上的本地makefile - > makeit.sh - > makefile中的参数给出 .
我试过了
ssh -X
但它的速度令人难以忍受 . 我也试过RSE,但它甚至不支持构建使用Makefile进行项目 .我读到NX比X11转发更快,但我无法让它工作 .
最后,我发现我的服务器支持X2Go(该链接有安装说明,如果你没有) . 现在我只需要:
在服务器上下载并解压缩Eclipse,
在我的本地机器上安装X2Go(在Ubuntu上
sudo apt-get install x2goclient
),配置连接(主机,使用ssh键自动登录,选择运行Eclipse) .
一切就像我在本地机器上工作一样,包括构建,调试和代码索引 . 而且没有明显的滞后 .
对于这种情况,您可以使用ptp eclipse https://eclipse.org/ptp/进行源浏览和构建 .
您可以使用此插件来调试您的应用程序
http://marketplace.eclipse.org/content/direct-remote-c-debugging