web-dev-qa-db-ja.com

Eclipseのリモートコンピューターでc ++プロジェクトをビルドする方法

Eclipse GanymedeがインストールされたWindows PCと、C++プロジェクトファイルが置かれているLinux PCを持っています。私はEclipseを使用してSMB経由でファイルを編集し、Eclipseを使用してプロジェクトもビルドしたいと考えています。現在、PuTTYを使用してLinuxマシンに接続し、適切なディレクトリから./makeを実行しています。 Eclipse内で同じコマンドをどのように実行し、その結果を確認できますか? RSEプラグインをインストールしましたが、それを行う方法がわかりません。

自分を明確にするために-私はVNCを使用して、自分のLinuxマシンにインストールされているEclipseで作業できますが、そうはしません。 VNCを介したEclipseは遅く、私のWindowsマシンにインストールされているEclipseほど応答が遅くなります。

ありがとう、ルーリ

27
r0u1i

私も同じような状況で、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コマンドにあります)。より多くのパラメーターを渡す必要がある場合や、セットアップがより複雑な場合は、バッチ/シェルファイルを使用してこれを自動化できます。

秘密鍵でパスフレーズを保存している場合は、pageant.exeを使用してキーを1回だけロードできるため、毎回パスフレーズを入力する必要はありません。

21
Ismael

RSEを使用して、リモートマシンにプロジェクトを作成できます。そのためには、リモートマシンにRSEサーバーコンポーネントをインストールする必要があります。 RSEリモートシステムビューを使用して、マシンへの接続を作成します。新しいC/C++プロジェクトを作成し、ウィザードの最初のページで、「デフォルトの場所を使用する」というチェックボックスをオフにします。これにより、ファイルシステムプロバイダーのドロップダウンが有効になります。RSEを選択します。次に、[参照]をクリックすると、リモートシステムを参照してプロジェクトを配置するフォルダーを探すダイアログが表示されます。

このアプローチにはいくつかの問題があります。まず、CDTインデクサーがインデックスを作成する場合、プロジェクト内のすべてのファイルを解析する必要があります。つまり、すべてのファイルをローカルマシンにダウンロードします。大規模なプロジェクトや接続が遅い場合、これは遅くなる可能性があります。

もう1つの問題は、Eclipseを再起動するとリモートプロジェクトが閉じられることです。これは、リモートマシンにまだ接続していないため、Eclipseが.projectファイルを読み取れないためです。 Eclipseを起動するたびに、リモートプロジェクトを再度開く必要があります。

現在、RDT(リモート開発ツール)と呼ばれるプロジェクトに、CDTにリモートインデックス機能を追加するプロジェクトがあります。つまり、インデクサーはコードと共にリモートコンピューター上に存在するため、インデクサー用にファイルをダウンロードする必要はありません。まだ「アルファ」ステータスですが、冒険好きで試してみたい場合は、 こちら にアクセスしてください。

8
Mike Kucera

たとえば、次のようなリモートデスクトップツールを試しましたか? nx ソースを保持するマシンでローカルにEclipseを実行するには?

それはより簡単な解決策かもしれません。さらに、そのツールを実行するすべてのPCから同じ環境を利用できます。

3
wr.

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'になります

1
Mark

X11転送 を使用してLinuxマシンからEclipseを実行してみましたか?最初にLinuxマシンにEclipseをインストールしておく必要があります。

自分で試したことがありません。

0
Liran Orevi

Liran Oreviが言ったように、xウィンドウを使用できます。

  1. Windowsシステムにcygwin xサーバーをインストールします。
  2. 「xhost +」などを使用して、このXサーバーへのリモート接続を有効にします(xhost +は安全とは見なされないため、パブリックネットワークでは使用しないでくださいが、ほとんどの場合は問題ありません)。
  3. linuxボックスにssh
  4. dISPLAY環境変数を設定します。例: "export DISPLAY =":0 "
  5. コマンドラインからEclipseを実行するEclipseがWindowsシステムのxserverに表示されるはずです。

sshは転送を自動化でき、xhost +とDISPLAY環境変数の必要性を排除します。

0
iain