• 締切済み

UNIXアプリ開発をWindows上の1つのIDEだけですべて完結させたい!!

※この質問をした背景 ・指がvi専用になってるUNIX屋さんや、学生時代からUNIX使ってる emacs使いではないのでUNIXじかで作業するのは基本的に嫌。 ・サンバでWindows上でソース書いても、結局、メイクと実行はUNIXで やることになってしまう。 ・cygwinとか、VMWareみたいなUNIXもどきじゃなくて、本番と同じ環境で  動作の検証をしながら、開発したい。 ・納品物として、ソースだけじゃなくて、ターゲットUNIXのmakeコマンドで  使えるmakeファイルも要求されている。 いちいち、makeファイルを記述するのが面倒だ。 ※欲しいWindows上のIDEの機能。 ・エクスプローラ形式でプロジェクトや ソース等や、実行イメージの置き場を決定、管理。 ただし、実際の置き場は、ターゲットUNIXの開発者ごとに  割り当てたユーザのホームディレクトリ以下にサンバなどで  直に格納する。 (デーモンプロセスの開発になるのでポート番号とかは 設定ファイルに開発者ごとに自分の番号を決めうちして、それぞれが勝手に同じテスト機でデバッグすることなどを想定) ・CVSでソース管理できるとなおよい。 ・IDEでメイクする時はmake記述ファイルを生成して、リモートでメイク。 ・実行はリモートおこない。コンソールアウトプットはIDEで見る。 ・デバッガはGDBなどと連携していて、IDE上でステップ実行できるとなおよい。 ・psコマンドやkillコマンドを使うために別に tera termを使うとかはせず、IDE上でうごかした プロセスの一覧を右くりなどして、killできると なおよい。 以上であるが。 探してもなかなか、みあたらない。 http://www.nag-j.co.jp/nag_ide.htm ↑がそれらしいと思われるが。 有料になってしまう。 上記のイメージでEclipseなみのフリーなものが あるととてもありがたい。 ご存知の方は、お願い致します。

みんなの回答

  • yu5473
  • ベストアンサー率0% (0/0)
回答No.7

私も質問者さんと似たような開発環境で、 開発効率を上げることはできないかと常々考えていまして、 BVRDEについて色々調べてみました。 結果ビルドまでは出来るものの、ブレークポイント貼って云々は 出来ない状況です。 試行錯誤しながら解決の糸口を探しています。 前の回答から3ヶ月程度経過していますが、質問者さんは解決しましたか? 文字化けについては、 BVRDEの「ツール→オプション→テキストエディタ→C/C++→色」という箇所で フォントをMSゴシック等の日本語対応のフォントに変えると回避できませんか? あと、完全ではありませんが、日本語パッチを作成しましたので、 必要であれば、差し上げますよ。

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.6

> ただ、今、ソースコードをIDE上で記述してみると > "日本語" などの文字列定数が化けてしまいます。 > あくまでIDE上のエディタ上で化けてみえるだけですが > できあがったファイルを秀丸エディタで覗いてみる > と別に化けていませんでした。 う~ん、まったく蛇足ではありますが、どうしようもなければ、文字列定数をconstでヘッダファイルで宣言して、各ファイルではexternで参照すると良いんではないかと思ったりしました。 まあ、どうせsourceforgeのプロジェクトなのだから、エディタの表示部分だけがおかしいのなら、そこを日本語に対応させることはできるのではないかとも思ったり。

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.5

多大な誤解があったようで、先の回答の他の質問者と同一視した失礼な部分についてはお詫びします。 一応言い訳だけ書いておきます。 私の回答のひとつ前のBVRDEを紹介する回答が出てから1日以上あいていたので、「どういうことかいな」と思ってしまった次第です。 BVRDEを確認したところ、私は実際には使ってみたわけではありませんが、それなりによくできたツールのようです。 では、あらためて、BVRDEはいかがですか。

参考URL:
http://bvrde.sourceforge.net/
lawson
質問者

お礼

どうも、ありがとうございます。 見落としてたみたいですね。 BVRDEをダウンロードしてみました。 さわってみた感じだと、 リモートとのやりとりとして、 FTPや、ネットワークドライブの割り当てを選択できる ようです。 自宅にはPC1台しかないので、 ネットワークドライブを選択して、 普通のC:\以下のフォルダを選択するとプロジェクト の作成や、ソースのコーディングと保存ができました。 リモートでのビルドなどの手段として、 リモートホストのアクセス手段として、 Telnet, SSH, などを選択するようですが。 自宅PC上のlocalhostではtelnetdがインストール されていないので、 リモートビルドは失敗しました。 早速、月曜日にでも新人君に調査依頼をしてみよう と思います。 AIXとLinuxの空きマシンがWindows PC上から 環境構築ができるどうかですね。 No4の回答に対するレスポンスで説明した通り、 UNIX系でない人でも効率よく作業できるような環境にもっていけるかどうかですね。 ただ、今、ソースコードをIDE上で記述してみると "日本語" などの文字列定数が化けてしまいます。 あくまでIDE上のエディタ上で化けてみえるだけですが できあがったファイルを秀丸エディタで除いてみる と別に化けていませんでした。 見た感じメニューの概観は Visual Studio風なので、VC++経験者などは、 とっつきやすそう。 文字化けの問題とかをどう解決できるかとかが、 気になります。 現在は7月末が期末のプロジェクトがあって なかなか、時間が避けないです。 UNIXのプロジェクトはかなり規模がでかい模様 ですが、開発が忙しくなるのは 2ヶ月以上先になると思いますので、 しばらく、調査を続けて 今度は、BVRDEに特化した質問スレをたてるなど したいと思います。 UNIX系の人を探すとなかなか見つからない。 いることはいると思うのですが、 どこかのお客さんが囲いこんでしまって、 流動性のある空いてる人ではなかなかみつ からない。 UNIX系でなくてもいいから中級PG以上の人で という話でいけそうになればよいのですが・・。 以上です。

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.4

まあこの手の質問者は、ちょっとばかり厳しいことを書かれたらすぐに逆切れするので、この際ですから、中傷にならないぎりぎりまで厳しいことを書きます。 あなたはプロフェッショナルとしての自覚が少々たりないのではありませんか。あなたは、納品した客先において、緊急の修正等の作業が出た際に、unix上では作業できません!と言い張るおつもりでしょうか。それとも、納品はするがメンテナンスは真っ平ごめんだとでもおっしゃるおつもりでしょうか。 いったいなぜ「リモート」にこだわるのでしょうか。Microsoft Windowsの上でなければならない理由があるのでしょうか。そもそも、そこまで統合環境に対する要求仕様が確定しているのであれば、自作するということができませんか。できないというのであれば、自作するのはいやだ有料はいやだとわがままをいっているだけにしか聞こえません。客先がApple MacintoshユーザーでMicrosoft Windowsが嫌いだったらお仕事は断るのでしょうか。 個人情報保護法も施行され、客先のDBの見えるスタンバイ機においてメンテナンスするようなケースがこれから増えていくでしょう。そういった場合、ノートパソコン等を客先の内部ネットワークに接続して作業するという形態が許されるとは到底思えません。少なくとも、私が発注者であればそういう形式のメンテナンスは絶対に全面的に厳禁します。作業者のことを信用できないのではなく、問題が起こった際に疑うべき範囲を限定したいからです。 そういうケースを考えると、少なくとも納品物の動作環境で作業ができないというのは、仕事にならないのではないでしょうか。別にviが使えなくてもemacsがつかえなくても、エディタはごまんとあります。viもemacsもイヤなら、あなたの希望に沿った統合環境を自作して納品物の中に入れておけばいいのです。

lawson
質問者

お礼

半分は忠告みたいな回答でしたが。 回答ありがとうございます。 最後に、申し訳ありませんが、質問に対して 建設的に回答をしてもらえませんか? せっかく、回答して頂いて恐縮ですが、 質問文の最後に 「ご存知の方は、お願い致します。」 と記載しました。 知らない、わからない等、特に答えがないようで あれば、わざわざ回答する必要もないですよ。 知っている方がいらっしゃれば、 今後の役立てたいと思って質問のスレをたててるだけなので。 また、そういうノウハウをもし、教えて頂ければ、 同じプロジェクトのメンバーにも伝達したいですね。 それでも、中には、もちろん、emacsでやりたいんだ!! って人もいるでしょう。 それはその人が好きにすればいいことです。 質問の内容では、それぞれのホームディレクトリ上に 開発途中のものを置いて、CVSリポジトリを別に設けるという イメージなので、それぞれがどんなツールを使おうが、 ルールさえ守られていれば問題ない話ですから。 誰かを中傷したり、逆ギレするつもりは一切ないです。 直接的な回答もないようなので、 本当に世の中にはないのかもしれません。 もしかしら、海外にフリーのものがあって メニューは英語だが、使えるものがあるなど そういう情報を持っている方がいるかもしれません。 しばらくして、特にないようであれば、 この質問スレは終了致します。

lawson
質問者

補足

>まあこの手の質問者は、ちょっとばかり厳しいことを>書かれたらすぐに逆切れするので、この際ですから、>中傷にならないぎりぎりまで厳しいことを書きます。 「中傷にならないぎりぎり」 という表現も失礼ですね。あなたのほうがキレてるのじゃないでしょうか。 別に逆ぎれするつもりはないです。 順番に説明致します。 >あなたはプロフェッショナルとして  (中略) >真っ平ごめんだとでもおっしゃるおつもりでしょうか。 そんなことを書いたつもりはまったくないですが。 UNIX上での作業は嫌ですねとは、書きましたが・・・。 好き嫌いと仕事上の責任とはまったく別次元の話ですから。 質問内容で行ったツールでは メンテナンス作業でさえもそれでできるはずです。 それに、その手のメンテナンスは過去に 私自身やってきております。 私が言いたいのは、ただ、開発の作業中に 効率化できたほうがいいですね。ということです。 プロフェッショナルとしての自覚があるなら、 むしろ、作業効率を追求すべきです。 お金をもらっている以上は少ない工数で より大きな成果を出す姿勢が必要です。 ただ、やむ終えない場合はUNIX端末上で作業する でしょう。状況によります。 効率化できるところは、できるだけしたほうが いいでしょう。 >Microsoft Windowsの上でなければならない理由があるのでしょうか 理由はあります。たとえば、人をアサインする時など、ネックにならないからです。 組み込み系のクロス開発で開発環境がUNIXである という場合などは別ですが、 UNIXでシステムを組む場合、 パフォーマンスの要求されるサーバプロセスが 殆どです。正直GUIアプリでUNIXの要件はあまりない です。 UNIX上のシステムコール依存の部分、例えば マルチスレッドなどの部分などが、 C++などでフレームワークとして、 用意されていれば、MS系やJava系の技術者が メインである技術が対応することができます。 MS系やJava系の技術者の多くは、UNIX系の人間より、 スキルの高い方々も多く見受けられます。 ただ、UNIX端末の操作を知らないなどがあって、 スキルシフトができなかったりします。 UNIX系の人間の秀でてる部分はUNIXの操作に 慣れている。UNIX依存のシステムコールや 環境についてよく知っているなどが 優れていると思いますが。それらを特に 意識しない方向性にもっていければ、 他の分野の技術者も進出できると思います。 >個人情報保護法も施行され、客先のDBの見えるスタン>バイ機においてメンテナンスする (中略) >作業者のことを信用できないのではなく、問題が起こった際に疑うべき範>囲を限定したいからです。 新規で開発する人員と、メンテに必要な人員とでは 必要な人数は圧倒的に違います。 メンテのスキルを要求されるようであれば、 必要に応じて、本人が自己研鑽すればよいと 思います。 新規で開発中のテスト機なら、別にセキュリティは関係ないです。 >少なくとも、私が発注者であればそういう形式のメンテナンスは絶対に全面的に厳禁します。 それは、ご勝手にしてください。 ただ、限られたなかでしか人員は確保できません。 工数も余計にかかるでしょう。 ようは、考え方の問題なので特に反対はしないです。 >ノートパソコン等を客先の内部ネットワークに接続し>作業するという形態が許されるとは到底思えません 別に外部につながるネットワークを要求している わけではありません。 以前、客先の隔離された本番機で作業をしており ましたが、ちゃんと、 ノートPCが複数台チェーンにつながれた形で 備え付けられておりました。 >viが使えなくてもemacsがつかえなくても、エディタごまんとあります そうですね。↑の本番機が隔離された部屋で ノートPCのメモ帳で作業しました。 小さい作業は直接、Tera Term上のviで編集しました。 しかし、新規で開発中にたくさんのプログラムを プレッシャーの中で作らなければならないときは、 テスト機に接続された開発者が使うPC上で効率よく やるべきです。 それと、これとは、まったく話は別です 混同しないで、ください。 >viもemacsもイヤなら たしかにいやですね。 しかし、やも得ない場合はviも使用致します。 >あなたの希望に沿った統合環境を自作して納品物の中に入れておけばいいのです。 No1さんの回答でも説明したとおり、 作成にはかなりのコスト高です。 私はただ、既にそういうものが、世の中に存在 しないか質問しただけです。 それに個人的なプログラムを客先への納品物に 混ぜるわけにはいかないです。 質問をただしく、読めば、成果物はツールに 依存しませんので、ツールまで納品する必要は ないです。

  • katouka09
  • ベストアンサー率50% (130/256)
回答No.3

No.1330823の質問が同じ内容の質問なんで参考になると思います。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1330823
  • entree
  • ベストアンサー率55% (405/735)
回答No.2

質問の内容を見る限り、趣味の範囲ではなく仕事でやられてるように見られますが、であればこれを機会にUNIXを勉強されるべきだと思います。誰もが最初から、viやemacsをすらすらと使いこなしているわけではありません。 しかも、MakefileだけWindows上で作成して、makeコマンドの実行だけUNIX上で動かすこともできるわけですからそれほど問題ないと思うのですが・・・。

lawson
質問者

お礼

回答ありがとうございます。 もう、2年以上前ですが、UNIX上で開発をしました。 viがどうしても苦手で基本的な指使いは覚えたので、しかたがないときは一応使えるようになっています。 でも、時間に追われたプレッシャーの中で、 プログラムをガリガリ書くのにはあまりにも、 不向きなエディターだと思います。 結局、sambaを使って、Win上でソースを書いて、 メイク、実行はWindows上のXサーバのアプリの 画面上で行いました。 しかも、ソース管理ツールもなく。 ソース管理はコミュニケーションオンリー いま、考えるととても、異様な状態です。 その後はJavaの開発や、 MS系の開発ツールやでの開発もやりました。 いまから思うと、UNIX系の開発の作業って どうしてああなんだろう・・。 もっと効率化して、楽に仕事できればいいじゃない? て、思います。 一番最初にこの業界でなにもわからず、最初に 覚えたのがviで依頼ずっと。UNIXで・・・。 みたいな人なら普通なのかもしれないです。 年代的にも 学生の頃にそんなに一般のPCが普及していて いなかったという人も多いでしょう。 だから、そんなに違和感も感じないのでしょう。 いい意味で楽をする方法を探したかったのですが。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

もちろん、業務目的ですよね。 業務目的でフリーソフトを使うのは、よろしく ないと思われます。 フリーソフトの性格上、利用上のトラブル等、 利用者個人の責任になりますし。 それに、あなたが望むような高機能なものを 作成する場合、相当なノウハウを持ったSE でなければならず、当然コストもかかるはず です。 シェアウェアか、製品版で探すべきかと思い ます。

lawson
質問者

お礼

どうして、 ・リモートでメイクファイルの自動生成 ・リモートでメイク、 ・リモートで実行 ・IDEがWindow上アプリである に列挙したかと言いますと。 これだと、ターゲットのUNIXのOSの種類に 依存しない汎用的なノウハウになると思った からです。 たとえば、Linux環境に特化したIDEを Windows上のXサーバで扱うだけとか。 Linux上のアプリに依存するやり方にすると、 SolarisやHP-UXなどでノウハウが異なったりします。 GNUのツールはどこでも共通なので、 Windows上のIDEの設定でターゲット側の 処理系の設定欄に。 /usr/bin/g++ などの記述ができるようになってればいいでしょう。 大抵のUNIX OSなら、通用する汎用的なノウハウに なるでしょう。 だから、UNIXアプリをたくさん使用することは むしろ、さけたいのです。 そうはいっても納品物はUNIX上で動くものなので。 以上です。

lawson
質問者

補足

回答ありがとうございます。 もちろん、業務目的です。 業務目的だけど、Javaの世界ではEclipseやその他 フリーのフレームワークを使って、開発するのは 普通になっています。なぜ、UNIX C/C++の開発だけ それが許されないのでしょうか? しかも、最終成果物は開発ツールに依存しません。 最終成果物はターゲットUNIXのmakeコマンドで 動作可能なmake記述ファイルと、ソースファイルと 実行イメージだけです。 納品後はお客さんの所有物になるので、我々とは、関係のない技術者に対して、メンテナンスを依頼する こともできるでしょう。 その時、そのメンテナンスをする技術者は旧来の 方法で保守するかもしれません。 >フリーソフトの性格上、利用上のトラブル等、 利用者個人の責任になりますし。 最終アウトプットはあくまで、ターゲットUNIXで 動くことを目的にするような質問です。 我々が使うなにかのツールに依存することは ありません。 我々はただ、開発時に効率化したいから、 質問内容のようなツールがないか質問しただけです。 IDE上からリモートでターゲットUNIX上の 処理系でメイクして、リモートで実行を 想定した質問内容です。 もう一度、言いますが質問内容を正しく読めば、 最終成果物は質問内容に記載されたツールに 依存しません。ここがポイントです。 >それに、あなたが望むような高機能なものを 作成する場合、相当なノウハウを持ったSE でなければならず、当然コストもかかるはず です。 もちろん、商用ならかなりのコスト高になるでしょう。 でも、今の世の中、Eclipseやその他フレームワーク 、CVSなどを開発環境として、構築するのが、全部フリー で行える時代です。なので、UNIX C/C++の方面でも そのようなものがないかを広く質問しようと思ったのです。 UNIX系の技術者あまり好きそうじゃないので、 浸透してないだけで、実はうまいやり方を知っている人がいるかもしれない ですよね。そういう方の回答が欲しくて質問しました。 なら、Javaで開発したら、いいでしょ? といわれそうですが。 パフォーマンス等の理由でC/C++を選択すべき 状況もあるでしょう。 その時に、昔の古いやり方に戻りたくないと 考える人は私だけではないと思います、たぶん。 >シェアウェアか、製品版で探すべきかと思い ます。 それなら、この質問はそもそもおこしません。 それに、自分で探してでてきたなら質問しないです。

関連するQ&A