なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

Code::BlocksでwxWidgets

前々から使おうと思いながらEclipseで開発を行っていたwxWidgetsですが、ようやく使い方がわかってきたのでこっちに移行しようかなと。やっぱUnix側のC++Eclipseじゃ無理だべ。Javaに関しては無敵なんだけどな。

最近eclipseのバグの理由がわかってeclipsewxWidgets使ってることが多いです。詳細は以下。

Eclipse CDT + MinGWでのコンソールについて - なんとな~くしあわせ?の日記

MakefileをCode::Blocksで使う方法

というのもMakefileをCode::Blocksで使うことに成功したのだ。注意点はプロジェクトのプロパティでMakefileを自動生成しないにチェックを入れること。もう一つ、CBは親切にもデバッグとリリース用のフォルダを作ってくれるがはっきり言って邪魔だから手動でソースファイルを追加したほうがいいということ。(※なんで邪魔かというとMakefileを書くときにいちいちSRC = src/, INC = include/とか書いてコンパイラにフォルダを探させなければいけないから。慣れてる人はいいかもしれないけどめんどくさいしわかりにくいです。)

これもまた追記:2011/11/07 cppファイルをsrcに、hファイルをincludeに置いた際の設定

Makefileのルールを勉強 - なんとな~くしあわせ?の日記

その設定さえ気をつければMinGWが読みこむような単純なMakefileで動いてくれます。しかも上部のビルドとランボタンからGUIアプリケーションが起動できる。これはどう頑張ってもEclipseじゃあできません(MinGWで作った実行ファイルはMinGWに入ってるDLLに依存してるから単体じゃ動かない)。

追記:2012/01/02 これについてはビルドの際に -staticオプションをつけてビルドすればeclipseでもGUIのボタンから作ったプログラムを起動することが出来ました。

"
追記:Boostなど、インクルードファイルが<boost/asio.hpp>などの形になるものについてはMakefileの中で「CPPFLAGS = /c/Boost」を追加してやればいいのですが、CBではどうしても読み込めなかった。なんでだろうと設定を色々見てると

Makefileを自動生成しないにチェック入れてること

②"Make"コマンドの$makeをmakeに変えておくこと。(※makeについては、昔なら $make = mingw32-make.exeというふうに変数で置き換えて使用するべきだったのかもしれないが、今のmingwパッケージ版を使えば普通にmakeコマンドで呼び出せるので設定は必要ないのだ。)

以上の設定を見直すことでMinGWネイティブでなおかつ新しい統合開発環境が誕生である。

ここまでこの記事を読んだあなたへ

プログラミングのための素晴らしいエディタ、Emacsを使おう。
MinGW/msysの環境でC++を書くことは造作もないことです!

参考記事
ドザーのためのEmacs設定 - なんとな~くしあわせ?の日記