XcodeでwxWidgets 開始
Xcode 3.2.3にて。
なんか 有料開発者向けにはバージョン4が出ているらしいが、別にiPhoneアプリを作るわけでもないので今はいらない。
Xcodeのバージョン3.1と3.2でいろいろ仕様が変わったらしい。
コマンドラインで作るのもよいけれどappにパッケージバンドルするのがめんどい。
Xcodeで作ればそのあたりはやってくれる。
XCodeとはMac版Visual Studioで、だいたいやっていることは同じで、どちらも
というところをやりたい。 CAEソフトでいうところのプリプロセッサ というところか。
今回必要なのは後者。前者は別にemacsでもよい。
コードの編集能力はVisual Studioの方がやりやすいように感じたが慣れの問題かもしれない。
XCodeのプロジェクトはCocoaアプリケーションで作成。
Carbonがないので げ Object-C限定か と焦るけど実際はc++も使える。ここでの選択はCocoaかCarbonか にあまり関係ないらしい。
プロジェクトのプロパティを見ると「言語」の「コンパイルでのソースの解釈」がデフォルトでは「ファイルタイプに基づいて」ということになっている。
プロジェクトができる。
ごちゃごちゃいっぱいあるけれど、フレームワークという概念などはVisual Studioより分かりやすくてよい。
ある操作に必要なライブラリをまとめて設定できる。OpenGLとかOpenCLとかWebKitとか。
プロジェクトが作成できたらクラスとか拡張子.mのファイルは抹殺し、c++のコードを新規作成して追加する。
c++ファイルの中身はとりあえずwxWidgets付属のsample/minimalからコピペ。
このサンプルだけXcodeのプロジェクトが付属しているためいろいろ参考になる。
それにしても全てのサンプルにプロジェクトファイルが付いていたWindows のVisual Studioとの扱いの差。
プロジェクトの設定でいじるところは以下。
かなりしんどいけど、プロジェクトごとに一度設定してしまえばよいので。
GUIプログラムなんてそうそう書き捨てるものでもないし。 そうでもないかな。
- アーキテクチャは32-bit Universal
- 有効なアーキテクチャはi386
- sampleフォルダ直下にあるsample.xpmを追加 これはコピーで。
- nclude するパスを../sample.xpmから./sample.xpmに変えること
- ユーザヘッダ検索パスをwx-config --cxxflagsに基づいて変更する。
~/dev/wxMac-2.8.12/macbuild2/lib/wx/include/mac-unicode-release-static-2.8
~/dev/wxMac-2.8.12/include
~/$(PROJECT_DIR)/src
最後の環境変数は xcodeprojフォルダのあるディレクトリ。Visual Studioだと$(SolutionDir)に対応する。
この下にsrcというフォルダをつくってそこに実装ファイルを放りこむやり方が個人的に好み。
- ライブラリ検索パスを wx-config --libsに基づいて変更する。
~/dev/wxMac-2.8.12/macbuild2/lib
- プリプロセッサマクロを wx-config --cxxflagsに基づいて変更する
_FILE_OFFSET_BITS=64 _LARGE_FILES __WXMAC__
- プレフィックスヘッダをプリコンパイルする を オフに
- プレフィックスヘッダを空にする
- リンカの設定で 「他のリンカフラグ」として
-lexpat -lwxregexu-2.8 -lwxtiff-2.8 -lwxjpeg-2.8 -lwxpng-2.8 -lz -lpthread -liconv
リンクには
まずwx関係のライブラリをすべて追加 これは参照で。
追加するフレームワークは
Carbon OpenGL IOKit QuickTime