陽だまり Mac版Soleado

2013年11月1日

はじめに

日記ソフト「陽だまり Soleado」はその計画段階からWindowsだけでなく他のOSでの使用を想定していました。 ここに来るまでに多くの時間を要しましたがようやく「Mac版」の検討に入る準備が出来ました。 今回の目的は、Mac上での開発環境の検証とソフトウェアのコンパイル。 そして、ソフトウェアの修正点を確認してみたいと思います。

対象

  • 開発環境:Mac OS X 10.6 Snow Leopard 日本語版
  • 陽だまり Soleado Ver. 3.4.0 ソースコード
  • Mac Gcc Ver.4.0 / 4.2
  • wxWidgets Ver 2.8.12
  • ターゲット:Mac OS X 10.4(Tiger)、10.5(Leopard)、10.6(Snow Leopard)、10.7(Lion)

動作確認

Macも多くのOSのバージョンがあります。 なるべく多くの機種に対応するようにコンパイラやSDKのバージョンを下げて対応することにしました。

まずはじめに、C++ライブラリーであるwxWidgetsのコンパイル。gccを4.0、SDKを10.4u、Carbonで作成しました。

次に、ソフトウェア開発環境としての統合開発環境のIDE。 Windows ではCode::Blocksが非常に優秀なのですが、Mac版が極めて不安定。とても使えるシロモノではありません。 Xcodeは慣れるまでの時間がかかりそうで。結局、Makefileを作成してコンパイルしました。 コンパイルでは警告が少しある程度ですがエラーは出ていません。しかし、実行画面は殆ど動かず。ソースコードとにらめっこです。


図1 実行画面

まとめ

32bit開発環境として、コンパイラ、wxWidgetsなどは揃(そろ)いました。即使用可能です。 しかし、Code::Blocls上でC++のソフトウェア開発は現状でほとんど不可能です。このままでは到底開発はできそうにありません。 打開策のアイデアは見つけましたが検証まではしていません。というのも、 ソフトウェアの開発はWindows上で行い、十分に完成した段階でMac上でコンパイルのみ行ってテストすれば良いかなと思っています。

Soleadoについては、現状の32bit版はコンパイル可能であることがわかりました。起動はできますがほどんど動作しません。 その理由もわかりました。 Mac用のwxWidgetsはそのライブラリーの仕様に厳密にそって動いているのです。 Windows用のwxWidgetsがその仕様に極めてルーズに適用されています。つまりソースコードをルーズに書いてしまったということなのです。 (ソフトにエラーや不具合があるということではありません。Windows専用に書いていると言うべきか)

今回の検討結果から、 Mac版公開するか否かにかかわらず、Mac版を作成することは極めて重要であるという結論に達しました。 優れた、そして美しいコードを書くためには、ライブラリーの仕様にそって書き直す必要があると考えました。

今後の方針

「陽だまり Soleado 64bit版」はとりあえずそっちのけで、Windows版Soleadoの開発、Mac上での確認という形で開発を進めます。

開発予定(時期は未定なのでロードマップにはならない^^;)

  1. Windows32bit版での開発(現在、構造の大変更を実施中、グリッド型、その他機能を開発中)
  2. Mac 32bit Carbonでの確認(上と並行で実施)
  3. Windows64bit版での開発(時期を後ろにずらしますが、実施する予定です)
  4. Mac 64bit Cocoaでの確認(未定、まずは開発環境の構築から)