プロジェクト

全般

プロフィール

NetBeans C/C++リモート開発環境

Oracle SolarisまたはLinux上のC/C++プログラムを、NetBeansが動作する別マシンからリモートで作成・実行・デバッグする環境です。
例えば、NetBeansをWindowsやMac OS Xで実行し、Linux上のプログラムを対象とすることが可能です。

環境構築

NetBeansを実行するリモートマシン、開発対象プログラムを実行するホストマシンという構成です。

前提条件

  • リモートマシンとホストマシンとの間でファイルを共有する環境
    • SambaまたはNFSによるファイル共有、あるいはSSH(SFTP)によるファイル転送のいずれか
  • リモートマシンからホストマシンにSSHで接続する環境
    • リモートマシンにはSSHクライアント、ホストマシンにはSSHサーバーが動作する
    • NetBeansはSSHクライアント機能を内蔵
  • リモートマシンにおいてコンパイラ・デバッガを使用する環境
    • ホストマシンでの開発ツール(GNUコンパイラコレクション、Sun Studio/Oracle Solaris Studioのいずれか)をリモートでも使用可能にしておく

接続設定

サービスウィンドウのC/C++ビルド・ホストに新規ホストを追加します。
ホスト名入力(またはしばらく待っているとホスト一覧が表示されるのでその中から選択)し、そのホストへ接続するユーザー名・認証手段(パスワードかSSH鍵ファイル)を選択します。
接続すると、接続先ホストにある開発ツールを検索してツールコレクションに設定してくれました。

buildhost_setting-1.png

使い方

最初の一歩

リモートマシン(Windows)上で、NetBeansで新規プロジェクトを作成します。サンプルからようこそを選択します。
ソースコードを開くと、コード支援機能の警告がいっぱい表示されます。ヘッダー(iostream)が見つからない、それによってstdが解決できない、という状況です。

sourcecode_warning-1.png

この状態でも、プロジェクトを実行するとホストに接続してコンパイル・実行されます。デバッグ実行も可能で、NetBeans上でソースコードのステップ実行と変数の確認などのデバッガ機能が使えます。

リモートマシン上でソースコード表示時のコード支援機能の警告を解消する

ぐぐって見つけた本件に関する記事

ホストへ接続してリモート開発するときは、NetBeansが認識するインクルードパスやコマンドのパスはホスト上のパスとなります。
一方、NetBeansがコード支援機能で使用するインクルードパスはリモートマシン上の場所を見ます。

ということは、リモートマシン(Windows)にホスト(Linux)と同等のインクルードファイルを置く必要があります。

今回は、MinGW-w64をWindowsに入れてインクルードを参照させることにします。MinGW-w64のインストールは次のページに記載しています。
Windows MinGW開発環境

MinGW-w64をインストールしたら、コード支援機能のパス設定に追加します。

  • [ツール]メニュー > [オプション] > [C/C++] > [コード支援]タブを選択します。
  • ツール・コレクション欄を使用するホストに切り替えます。
  • [Cコンパイラ]タブで、[追加]ボタンを押します。

リモートターミナル

[ウィンドウ]メニュー > [IDEツール] > [ターミナル]で、ターミナルウィンドウが画面下部に表示されます。ローカル・ターミナルとリモート・ターミナルが利用できます。
Windows環境の場合、標準でSSHターミナルがないので、この機能は便利かもしれません。

資料

NetBeans公式資料