きっかけは、C++のクロス開発が簡単に出来る。
という触れ込みをどっかで見たから。

今までは小物を作ってた位なので、FreeBSD機にsambaで共有かけたファイルを
Windows上から編集して、sshでログインしたTeraTerm上でmakeコマンドを実行。
なんて、野暮ったい方法でも余りストレスは感じてなかったけれど、
規模が大きくなると、入力補完だとか、自動テスト実行だとか、
ともかく、そういう機能が欲しくなる。
勤務先からはsambaが使えないので、sshでログインした後、
viでコード書いてるので効率がよろしくない。
ローカルでソース書いて、WebDAVでファイル上げて、配置しなおして
TeraTermでmakeとか考えただけでめんどくさい。
その辺も上手いことやってくれる機能が欲しい。
というわけで、netbeansを試してみた。

起動してパッと見た感じはeclipseより進んでるというか、小奇麗な感じ。
試しに、phpのプラグインも入れてみたのだけれど、その辺のアップデートも
上手いことやってくれてる印象。
eclipseは、適当にアップデートや追加機能いれて言われるままIDEを起動しなおしたら、
起動できなくなりました。
なんて冗談みたいな事を平気でやるので信用ならない。
暫く触ってないうちにeclipseも進化してるのかもしらんけど。

sshの認証もあっさり認識。
が、上手くいったのはここまで。
ファイル同期の方法が、「システムレベルファイル共有(NFS,samba)」以外選べない。
公式では、いかにも簡単そうに出来るみたく書いてあるのだけれど、
「スマートセキュアコピー」「ファイルシステムの共有 (同期なし)」なんて項目はない。
で、勤務先からアクセスする時には「スマートセキュアコピー」が必須。
鯖側のsshd_configに問題があるかもしれないと、チェックしてみるも、sftpは有効になってる。

先述のチュートリアルが、バージョン6.9の物で、インストールしたのが、7.01なので
じゃあ6.9でやってみようか、と思い直して6.9をインストール。
が、今度はsshの認証が通らない。auth.logを見ると鍵渡す前に接続を切ってる模様。
腐ってやがる……

結局7.0に戻る。
で、試行錯誤を繰り返す中で、samba共有がある状態でパスマッパーを設定し、
開いたプロジェクトのタブから、リモートホストにアップロードを実行してみたところ、
ソースが壊れた。
腐ってやがる……

結局壊れたソースはまだ、Subversionにコミットしてなかったので、
dumpコマンドのバックアップから少し古いのを復旧させた。
一度組んでるから楽だとはいえ、同じソースの書き直しは精神的にクルものがある。

閑話休題。

結局、ローカルでプロジェクト作成、パスマッパーでサーバと共有を設定、
ローカルでソース変更、IDEのメニューからアップロード、IDEからmake、実行。
みたいな形を試してみた。
本体がローカル側の扱いになるので、いちいちアップロードを選ばないと、
リモートで古いソースでmakeを走らせることになるのがすごくみっともない。
このアップロードはIDEがsftpでやってるようなので、ソース変更即反映が
自動でできないハズは無いのだけれど。

で、もう少しあがいてみると、「サービス」タブの「C/C++構築ホスト」の中に、
「プロジェクトを開く」、というのがあった。
これはリモートにあるプロジェクトを本体として開ける機能らしい。
試してみた感じ、ソースの同期は随時行われている感じ。
make、実行もローカル側からリモートのファイルを操作できている。
が、当然ながら「プロジェクトを開く」では、既存のプロジェクトしか開けない。
つまり、新規にプロジェクトを作成する方法がない。
新規プロジェクトの作成からは、リモートでプロジェクトを作成できるような
オプションは見つからなかった。
少し考えて、ローカルでプロジェクト作成。WebDAVでアップロード、
アップロードしたプロジェクトをリモートのプロジェクトとして開く。
先述程ではないにしろ、カッコ悪い。
プロジェクトを量産しなければ実際は殆ど意識することは無いのだろうけれど、
もうちょっと何とかならんものか。
メニューの「プロジェクトを開く」からは相変わらずローカルのプロジェクトしか開けないし。

プロジェクトの本体はリモートの鯖側において、家と勤務先で、sambaとsftpを
使い分ける。
で、両方の環境から全部の作業が出来るようにしたい。
が、中々道は遠いようだ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です