というか、Mac OS X でアプリ開発をしたい?
そんなアナタのために! このチュートリアルがあります。
SFML をどうやってインストールするのか?
IDE をどんなふうに設定するのか?
そして SFML の基礎的なプログラムを書くまでのご案内です。
そして忘れてはいけないことがもう1つ。
作ったアプリを、ユーザーさんがすぐに使える状態(out of the box) で配布するにはどうすればいいのか?
それについてもご紹介します。
このチュートリアルの中で、重要な部分には、 さらに詳しい解説ページへのリンクを張ってあります(別サイトへ。アップルの公式サイトなど)。 興味のある方は、そちらも読んでみてください。
このチュートリアルの内容そのものは、リンク先を読まなくても、ついて行けると思います。
※ 訳註 ※
私は Mac を持っていないので、このチュートリアルの内容の動作確認ができていません。 実は Mac を触ったことすらないので、理解不足による誤訳もあるかもしれません。ごめんなさい。
実機がないのでスクリーンショットの撮影もできません。訳文中の画像は原文にあるスクリーンショットを目視してペイントツールでお絵かきしたものです。 ちゃんとした画像が見たいときは原文を参照してください。
私は Mac を持っていないので、このチュートリアルの内容の動作確認ができていません。 実は Mac を触ったことすらないので、理解不足による誤訳もあるかもしれません。ごめんなさい。
実機がないのでスクリーンショットの撮影もできません。訳文中の画像は原文にあるスクリーンショットを目視してペイントツールでお絵かきしたものです。 ちゃんとした画像が見たいときは原文を参照してください。
SFML を使ったアプリを開発するために必要なのは:
- Lion 以降の Intel 搭載 Mac (10.7+)
- Xcode(できれば、App Store で入手可能な、バージョン4以降の IDE)と Clang
最近のバージョンの Xcode では、コマンドラインツールもインストールする必要があります。
・入手先:Xcode > Preferences > Downloads > Components
もしそこで CLT が見つからなければ、ターミナルで 'xcode-select --install' と入力し、画面上の指示に従ってください。
・入手先:Xcode > Preferences > Downloads > Components
もしそこで CLT が見つからなければ、ターミナルで 'xcode-select --install' と入力し、画面上の指示に従ってください。
Mac OS X では、2通りのフォーマットで SFML を使うことができます。
1つは dylib ライブラリ。もう1つはフレームワークのバンドルです。
どちらも ユニバーサルバイナリとして提供されてます。 なので、32ビットマシンでも 64ビットマシンでも、特に気にしないで使うことができます。
Dylib は ダイナミックライブラリの略です。
このフォーマットは Linux でいうと ".so" のライブラリみたいなものです。
もっと詳しく知りたい方は、 こちらのページをどうぞ(アップルのサイトです)。
フレームワークも、根本的には dylibs と同じです。 違いは、外部リソースをカプセル化できるところです。
詳しいお話は、 アップルのサイトの解説をご覧くださいませ。
SFML でアプリ開発をする場合、1つだけ、両フォーマットの微妙な違いを知っておいて下さい。
SFML そのものを自前でビルドした場合は dylib 形式で、デバッグ版もリリース版も両方生成できます。 が、フレームワークではリリースビルドしかできないのです。
最終的に完成品をリリースするときには、どっちにしてもリリースビルドをすることになるので、 問題にはならないと思います。
と、そんなわけで、ダウンロードページに置いてある OS X 用の SFML ライブラリは、 リリースフォーマットの分しかないのでした。
Xcode4 以降のバージョン用に、SFML は2通りのテンプレートで提供されてます。 これを使うと手早く簡単にプロジェクトを構築できます。
テンプレートでカスタムプロジェクトを生成できます:
SFML を dylib として使うかフレームワークとして使うかに関わらず、 開発するアプリケーションがどのモジュールを使うのかを選択できます。 そして、リソースを全部含んだアプリケーションバンドルを生成するのか (アプリケーションのインストールプロセスはドラッグアンドドロップのような簡単な操作で作れます)、 それとも従来通りのクラシックなバイナリを生成するのかを選択できます。 詳しくはこのチュートリアルの続きをご覧ください。
注意点! これらのテンプレートは Xcode3 とは互換性がありません。
もし Xcode3 の IDE をアップデートせずに使い続ける場合は……
もちろん! それでも SFML を使ったアプリを開発できます!
そのやり方の解説はチュートリアルの範囲を超えてしまうのでここでは割愛しますが、
アップルのドキュメントを見て、Xcode3 でライブラリをプロジェクトに追加する方法を探してくださいね。
アップルは Xcode に同梱して Clang や libc++ のカスタムバージョンを出荷してます。
C++11 の仕様を部分的にサポートしています(でも全機能ではない)。C++11 の新機能を使う予定なら、プロジェクトを clang や libc++ を使うように設定します。
もし、libstdc++ に依存(直接、間接を問わず)するプロジェクトを開発するなら、 SFML を自前でビルドし、libstdc++ を使えるようにプロジェクトを設定してください。