NetBeansを使って C++を WindowsPC上で開発しながら Linuxのgccでビルドする方法1

C/C++ リモート開発
上記のページに、NetBeans6.8から追加された機能として「リモート開発」というものがありました。この機能を使うことで表題のようなことが可能です。しかし、最初の設定でいくつか躓いたことがあったので作業メモを残しておきます。

まずは、WindowsPCとLinuxでソースの共有ができないとうまくないので、その設定を行います。

Services for UNIX(SFU)のインストール

WindowsPC*1Linuxとファイル共有するために、NFSのサービスをインストールします。既にsambaを使って共有できる環境がある場合には、以降の作業は必要ありません。*2

Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle
ここからダウンロードしてインストールして下さい。
インストールする際に、「カスタムインストール」を選択し、「NFS」と「NFS認証ツール」を全てインストールに変更しておいて下さい。ユーザー名マッピングの方法は、ここでは「パスワードファイルとグループファイルを使用する」を選択して先に進めます。その他はデフォルトのままでインストールを行います。

Server for NFSの起動確認

インストール終了後、「スタートメニュー>プログラム>管理ツール>サービス」を開き「Server for NFS」が開始されている事を確認して下さい。開始されていなかった場合には開始して下さい。

パスワードファイルの準備

ファイル共有したい相手の Linux から /etc/passwd と /etc/group を、C:\SFU\etc*3 の下へコピーして下さい。

Services for UNIXの設定

「スタートメニュー>プログラム>Windows Services for UNIX>Services For UNIX の管理」を開き、「ユーザー名マッピング」の画面を開きます。

「構成」タブで、「パスワード ファイルとグループ ファイルを使用する(E)」をチェックし、上記のコピーしてきたパスワードファイルとグループファイルのパスを設定します。

次に「マップ」タブで、詳細マップの「ユーザーマップの表示」をクリックします。「Windowsユーザーの一覧(L)」と「UNIXユーザーの一覧(X)」をクリックした後、接続に使用するユーザーをそれぞれ選択し、「追加」をクリックします。*4

上記の作業が完了したら、右上の「適用」をクリックして閉じます。

NFS共有設定

WindowsPCで共有したいフォルダを Explorerで表示し、そのフォルダのプロパティを表示します。
NFS共有」のタブを開き、「このフォルダを共有する(S)」にチェックし、共有名を設定します。
エンコード」を「EUC-JP」に変更し、「匿名のアクセスを許可する(A)」にチェックを入れます。「アクセス権」をクリックし、「アクセス権の種類(T)」を「読み書き」として「OK」を押して閉じます。さらに、「OK」を押して閉じます。

次に、Linuxへログインし、共有フォルダを mountする場所を作成します。最後に以下のコマンドを実行すればファイル共有ができます。

$ sudo mount -t nfs XXX.XXX.XXX.XXX:/shared_folder /path/to/mount

ここで、「XXX.XXX.XXX.XXX」がWindowsPCのIPアドレス、「shared_folder」が共有名になります。

*1:ここでは、XPと2000が対象です。Vista以降では上位Editionでは標準でOSに付属している模様です。

*2:その場合には、最初のlinkの先を読んで下さい。

*3:デフォルトの設定でインストールした場合のパスになります。別の場所にインストールした場合には、そのフォルダの下にある etcへ読み替えて下さい。

*4:ここで重要な注意点が1つ。選択したユーザーにパスワードが設定されていないと、以下の共有が上手くいきません。必ずパスワードが設定されているユーザーを使用すること!