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

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

MacでのwxWidgetsについて

Macと他のOSとはアプリケーションの構造が違うらしく、ただ単にソースをビルドするとMac上で正しく動作しなくなる。例)アプリケーションをアクティブにしてもトップにメニューバーが出ない。テキストコントロール上に打ち込んだ文字列がなぜか端末にリダイレクトされる ...etc

これを防ぐためにはapplication bundleというものを実装しなくてはいけないみたいだ。あまり調べてはいないが、アプリケーションが参照するリソースを特定のルールで階層にしたものみたい。
参考
WxMac-specific topics - WxWiki

wikipedia
Application bundle - Wikipedia, the free encyclopedia
アプリケーションパッケージ - Wikipedia

で、wxを使ってそれを実装するには複雑なMakefileが必要になる。

参考になるサイト
wxWidgets Discussion Forum • View topic - Using Makefile on a Mac

結局、普段使っているMakefileにBundleを作成する処理を追加すれば問題なく実行できるようになった。
同じソースコードを使っているのにMSWは70MB, MacとLinuxは7MBほどの実行ファイル。10倍近く違うのに驚き。