NetBeans远程开发以及其他配置

时间:2013-08-21 09:43:46

标签: c++ netbeans remote-server

我正在尝试使用NetBeans(7.3.1)来处理远程项目。

我的配置如下:

  • 我的本地计算机是Windows 7笔记本电脑。它没有任何工具。特别是编译器和调试器。但它确实有NetBeans IDE和PuTTY。
  • 源代码,制作脚本和(最终)构建结果位于跨服务器和“本地”共享的远程存储上。 (我可能会切换到单个服务器只有存储,因为它更快,但我认为它根本不重要。)
  • 我正在使用SSHFS Manager访问它。 SSHFS管理器获取服务器名称,服务器上的路径,用户名和SSH私钥。结果,它将服务器上的该目录作为磁盘安装在Windows上。这很好用。 (虽然某些目录,可能是链接,在Windows资源管理器中表示为文件,但我不知道这是否重要......)
  • NetBeans项目位于本地计算机上,但我不认为这很重要,我也可以远程放置它。但我宁愿保持“脱离源”,这样我就不必添加任何忽略版本控制。
  • 在NetBeans中,我执行了Remote Developement Tutorial中描述的过程。它似乎很成功。 NetBeans连接到服务器并找到了GNU Compiler Collection。
  • 然后我使用File |添加了项目新项目......,有C / C ++ |具有现有源的C / C ++项目。它似乎很成功。所有文件都可见,所有工作人员都可以。

然而问题是我们的工作“程序”要求我们首先设置环境。因此,当我使用PuTTY登录时,我必须首先使用适当的参数调用setsee。这会通过添加大量变量来严重影响环境,例如包括:

    设置为GCC_HOME
  • /opt/gcc/linux64/ix86/gcc_4.3.2-7p3,而不是NetBeans在其GNU编译器集合中为C ++编译器显示的/user/bin/g++
  • CPLUS_INCLUDE_PATH指向某个路径(而NetBeans没有看到很多包含,可能缺少该路径)。

那么有没有办法告诉NetBeans在做其他事情之前在远程服务器上调用setsee

1 个答案:

答案 0 :(得分:1)

事实证明setsee或多或少是一种内部工具。然而,“核心问题”依然存在:如何在IDE实际使用该脚本之前代表IDE创建的SSH会话执行任意脚本。

Answer对超级用户的“How can I set environment variables for a remote rsync process?”问题说明了一切。

。”

简要总结一下:在〜/ .ssh / authorized_keys中,必须修改与IDE将登录的密钥对应的条目。必须添加一个command参数作为脚本登录后但在“返回控制”之前执行。

还有另一个与该解决方案相关的事情。如果要在command选项中执行的脚本输出任何内容,它将破坏许多工具(可能还有IDE)。这些工具通常在输出上期望所谓的工具。解析这样的输出然后失败command脚本输出。

一个简单的解决方案是使用tail。但缺点是你松了“进步”。漫长的操作看起来像挂起,然后一次性输出所有内容。在某些情况下,它根本不起作用(例如,如果git clone --progress脚本输出任何内容,则在Tortoise Git上通过SSH执行command将失败。