読者です 読者をやめる 読者になる 読者になる

gymnoの自由談

音楽系、プログラミング系の内容 方針はいずれ

XcodeでwxWidgets 開始

Xcode 3.2.3にて。
なんか 有料開発者向けにはバージョン4が出ているらしいが、別にiPhoneアプリを作るわけでもないので今はいらない。
Xcodeのバージョン3.1と3.2でいろいろ仕様が変わったらしい。

コマンドラインで作るのもよいけれどappにパッケージバンドルするのがめんどい。
Xcodeで作ればそのあたりはやってくれる。

XCodeとはMacVisual 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のプロジェクトが付属しているためいろいろ参考になる。
それにしても全てのサンプルにプロジェクトファイルが付いていたWindowsVisual 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

_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

ここまでやれば なんとか。



ところでmacスクリーンショットって影まで含むのか