藤井のスタートページ

はじめに

Windows でのC/C++の無償プログラム開発環境としてのEclipseについて調べてみる。

[2009-09-16:追記] なお、以下に記載のある wxGrade の出したコードが、うまく compile できない 件であるが、wx-config の使い方を知らなかったために生じた可能性が高い。 MinGW/MSYS での wxWidgets について の方で、wx-config に簡単に触れておく。

まずは

の記事をEclipseでやってみる方針でいく。ただし、この記事で

(以下引用)
以上、 Windows 上の開発環境を整備する方法を紹介した。おそらく、この説明を読んで
「なんて面倒なんだ」と感じた方は多いだろう。実際、筆者も面倒であった。元々は本稿の
タイトルに「GUIアプリを手軽に作ろう」という表現を使うつもりでいたが、この下準備の
手間を考えて、「手軽に」は自粛した。
(引用終わり)

とある点は要注意であろう。 同様な記事

も参考になる。ただし、この記事の結論も

(以下引用)
GUI画面の構築にwxGladeを使ったのだが、落ちる落ちる、ひたすら落ちる。
画面構成を作るのにこんなに忍耐強さが要求されるとは予想外。GraphicGripGrop程度
ならまだしも、現状まともなサイズのまともなアプリケーションを組めるツールでは
ない。

最初Eclipse 3.1 + CDT 3.0 で環境を構築したのだが、CDTがwxWidgetsのヘッダの
解釈でおかしくなるらしくほぼ暴走状態になってしまうので、現実には全く使えない。
あれこれ無効にすべくスイッチを変えてみたが暴走状態は回避できなかった。
Eclipse 3.0.2 + CDT 2.1.1 は一応暴走せずに使える。

ただ、開発に要求される安定性という点ではやはりかなり厳しく、
Eclipse + CDT +  gdb でのデバッグにて時々暴走状態になった。そもそも仕組み的に
無理があるのかCDTの問題なのかは不明。

結論、EclipseをJava開発以外に使うのは趣味の範囲にとどめておけ。
(引用終わり)

と手厳しい。 まあ、でも上記の記事の時点からは1年以上たっているので、世の中 進歩しただろうという楽観論でやってみる。

  • Compiler は MinGW/MSYS(gcc/g++ の Windows版)
  • GUI toolkitは wxWidgets (Python binding 版である wxPythonが有名)
  • GUI code generator は wxGlade(wxPythonのアプリケーション)

としよう。

Eclipse より前の環境作り

Eclipse を動かす前に、いろいろ環境を整える必要がある。現時点(2007年1月22日)で最新のものを集めてきた。

  • MinGW-5.1.3.exe
  • MSYS-1.0.9.exe
  • gdb-5.2.1-1.exe
  • wxMSW-2.8.0-Setup.exe
  • python-2.5.msi
  • wxPython2.8-win32-unicode-2.8.1.1-py25.exe
  • wxGlade-0.4.1-setup.exe

インストールそのものは、wxWidgets を除いて、ほとんどクリック、クリック、、でいく。簡単な動作確認も問題ない。

wxWidgets は install.txt を参照しながら MinGW 版を MSYS の下で configure を 使って導入。1GHz PenIII 320MB RAM の PC で configure に約7-8分、 make に約27-8分かかる。samples/minimal の例題が動作することを確認。

しかし wxGlade の生成コードがコンパイルできない!

Eclipse で動かす前に上記記事に従って、wxGlade でソースを自動生成させてコンパイル、リンクを手動で指示して動かそうとした。wxGlade でコードを出すところまではできた。しかし、コンパイルでエラー出しまくりでどうにもならん。

最初はコマンドプロンプトからやろうとしたが、wx-config が見つからないと言ってしかられ、仕方無いので MSYS の元でコンパイルしたら、今度は wx/ 以下の include ファイルが見つからない。どうも wxWidgets のバージョンによって include file の置き方が変わったのではないかと疑われる。

とにかく include file の path を通してやってみたところ、wx/ 以下全部が見つからないということはなくなったが、setup.h が無いと言ってくる。 どうやら、wxWidgets の include file 構成も変わったのではないかと思われる。 つまり、wxWidgets 2.8 ではなく、wxWidgets 2.6 を使わなければならないのではないかと疑われる。

で、wxGlade と wxWidgets と 2.8 で Google 検索をかけてみると、同じような記事に出会った。

wxGlade 後まわし、Eclipse の導入

上記のような状態なので、wxGlade の使用は後まわしにして、Eclipse による手動での Windows programming を試みる。

Eclipse の導入

Eclipseの導入では、全ユーザが使えるようにするためには

  • eclipse が導入される全フォルダに対し、users にフルコントロールを与えること

が重要である。また、space 文字を含むフォルダの利用は避けた方がよい。

CDTの設定

CDT は default で GCC を使う設定になっている。ただし、以下の設定を しないと途中で長時間待たされる状況が生じる。

  • Windows -> Preferences -> C/C++ -> Editor -> Content Assist を全部 off
  • Windows -> Preferences -> C/C++ -> Indexer を No Indexer に

resource の処置

Windows program の場合、resource (.rc) file を使うことが多い。この処置は どうするのが正解かわからないが、

  • Build Steps に windres ../myapp.rc -o myapp.o
  • Tool Settings GCC C++ Linker の Miscellaneous の Other objects に ./myapp.o を追加

とすればうまくいった。ただし、これだと myapp.rc を編集しても myapp.o を自動生成するわけではないので、myapp.rc を編集した時は clean してやる必要がある。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-16 (水) 11:55:24