Как создать проект C ++ на удаленном компьютере в Eclipse? - PullRequest
27 голосов
/ 13 мая 2009

У меня есть компьютер с Windows с установленным Eclipse Ganymede и компьютер с Linux, на котором находятся мои файлы проекта C ++. Я использую Eclipse для редактирования файлов через SMB, и хотел бы также построить проект с использованием Eclipse. В настоящее время я подключаюсь с помощью putty к моей машине с Linux и запускаю ./make из соответствующей директории. Как мне запустить ту же команду в Eclipse и увидеть результаты в ней? Я установил плагин RSE, но все еще не могу понять, как это сделать.

Просто чтобы прояснить ситуацию - я могу использовать VNC для работы на Eclipse, который установлен на моей машине с Linux, но я предпочитаю этого не делать. Eclipse через VNC работает медленно и не так быстро реагирует, как Eclipse, установленный на моей машине с Windows.

Спасибо, Роули

Ответы [ 6 ]

21 голосов
/ 15 августа 2009

Я был в подобной ситуации, разрабатывая на рабочей станции Windows, компилируя на сервере Linux. Вот что я закончил делать:

  1. Установите пароль для входа на сервер компилятора с помощью putty, например, вы можете следовать этому учебнику .
  2. Создайте сеанс входа в систему с помощью putty, убедитесь, что в Connections / SSH / Auth указывает на ваш закрытый ключ.
  3. Измените команду eclipse make на plink.exe -load "saved_session" make -C /remote/path/project (Этот параметр находится в Project / Properties / C ++ Build / Builder Settings / Build command). Вы можете автоматизировать это с помощью пакетного файла / файла оболочки, если вам нужно передать больше параметров и / или ваши настройки более сложны.

Если вы сохранили парольную фразу со своим закрытым ключом, то вы можете использовать pageant.exe для загрузки вашего ключа только один раз, поэтому вам не нужно вводить парольную фразу каждый раз.

8 голосов
/ 17 мая 2009

Вы можете создать проект на удаленной машине, используя RSE. Для этого на удаленном компьютере должен быть установлен компонент сервера RSE. Создайте соединение с машиной, используя представление RSE Remote Systems. Создайте новый проект C / C ++ и на первой странице мастера снимите флажок «Использовать расположение по умолчанию». Это позволяет в раскрывающемся списке поставщиков файловой системы выбрать RSE. Затем, когда вы нажмете кнопку «Обзор», откроется диалоговое окно, в котором вы сможете найти в удаленной системе папку, в которой вы хотите разместить проект.

Есть несколько проблем с этим подходом. Прежде всего, когда индексатор CDT хочет создать индекс, ему необходимо проанализировать все файлы в вашем проекте, что означает загрузку всех файлов на локальный компьютер. Это может быть медленным, если у вас большой проект или медленное соединение.

Другая проблема заключается в том, что при повторном запуске Eclipse удаленные проекты будут закрыты. Это потому, что у вас еще нет соединения с удаленным компьютером, поэтому eclipse не может прочитать файл .project. Вам придется открывать удаленные проекты каждый раз, когда вы начинаете затмение.

В настоящее время в работе находится проект под названием RDT (средства удаленной разработки), который добавляет возможности удаленной индексации в CDT. Это означает, что индексатор будет жить на удаленной машине с вашим кодом, поэтому файлы для индексатора загружать не нужно. Он все еще в "альфа-статусе", но если вы любите приключения и хотите попробовать его, зайдите здесь .

3 голосов
/ 13 мая 2009

Вы пробовали использовать инструменты удаленного рабочего стола, например, такие как nx для локального запуска затмения на машине, которая также содержит источник?

Это может быть более простым решением. Кроме того, у вас есть такая же среда с любого ПК, на котором запущен этот инструмент.

1 голос
/ 04 июня 2019

Для работы с хоста Linux, компиляции в [другой] удаленной среде Linux порядок команд будет,

1 $ ssh-keygen для создания пары ключей ssh ​​без паролей [здесь, id_rsa_nopassphrase], затем scp ключ id_rsa_nopassphrase.pub от хоста ~/.ssh/ к удаленному ~/.ssh/authorized_keys [добавить контент, если он уже есть такой файл на пульте]; то

2 Добавить запись к хосту ~/.ssh/config, такую ​​как Host my_remote_ssh_alias HostName MY_REMOTE_SERVER User remote_username Port 22 IdentityFile /home/<host_username>/.ssh/id_rsa_nopassphrase тогда

3 Команда Eclipse make в этом случае ssh my_remote_ssh_alias -F /home/host_username/.ssh/config 'make -C /remote/path/to/project'

0 голосов
/ 13 мая 2009

Как сказала Лиран Ореви, вы можете использовать x windows.

  1. Установите сервер Cygwin X на свой Система Windows.
  2. Включить пульт подключения к этому X-серверу, используя "xhost +" или аналогичный (xhost + не считается безопасным, поэтому не делайте этого на публичная сеть, но это нормально для большинства случаев)
  3. ssh на linux box
  4. установить переменную окружения DISPLAY, например "export DISPLAY =": 0 "
  5. запустить eclipse из командной строки Затмение теперь должно появиться на xserver в системе Windows.

ssh может автоматизировать переадресацию, устраняя необходимость в xhost + и окружении DISPLAY.

0 голосов
/ 13 мая 2009

Вы пытались запустить Eclipse с компьютера Linux с X11 forwarding ? Сначала вы должны установить Eclipse на компьютере с Linux.

Сам не пробовал.

...