TOP > プログラミング関連 > SFML非公式翻訳トップ > 【非公式翻訳】SFML2.3チュートリアル > 開発環境を整える > Xcode(Mac OS X)

[原文(公式)]

◆◆ 開発環境を整える ~ Xcode(Mac OS X) の場合~ ◆◆
SFML2.3 非公式日本語翻訳
Xcode で SFML を使ってみたい?
というか、Mac OS X でアプリ開発をしたい?
そんなアナタのために! このチュートリアルがあります。

SFML をどうやってインストールするのか?
IDE をどんなふうに設定するのか?
そして SFML の基礎的なプログラムを書くまでのご案内です。

そして忘れてはいけないことがもう1つ。
作ったアプリを、ユーザーさんがすぐに使える状態(out of the box) で配布するにはどうすればいいのか?
それについてもご紹介します。

このチュートリアルの中で、重要な部分には、 さらに詳しい解説ページへのリンクを張ってあります(別サイトへ。アップルの公式サイトなど)。 興味のある方は、そちらも読んでみてください。
このチュートリアルの内容そのものは、リンク先を読まなくても、ついて行けると思います。

※ 訳註 ※
私は Mac を持っていないので、このチュートリアルの内容の動作確認ができていません。 実は Mac を触ったことすらないので、理解不足による誤訳もあるかもしれません。ごめんなさい。
実機がないのでスクリーンショットの撮影もできません。訳文中の画像は原文にあるスクリーンショットを目視してペイントツールでお絵かきしたものです。 ちゃんとした画像が見たいときは原文を参照してください。

必要なマシンスペック
SFML を使ったアプリを開発するために必要なのは:
最近のバージョンの Xcode では、コマンドラインツールもインストールする必要があります。
・入手先:Xcode > Preferences > Downloads > Components
もしそこで CLT が見つからなければ、ターミナルで 'xcode-select --install' と入力し、画面上の指示に従ってください。

どっちがいい? dylib vs フレームワーク
Mac OS X では、2通りのフォーマットで SFML を使うことができます。
1つは dylib ライブラリ。もう1つはフレームワークのバンドルです。
どちらも ユニバーサルバイナリとして提供されてます。 なので、32ビットマシンでも 64ビットマシンでも、特に気にしないで使うことができます。

Dylib は ダイナミックライブラリの略です。
このフォーマットは Linux でいうと ".so" のライブラリみたいなものです。
もっと詳しく知りたい方は、 こちらのページをどうぞ(アップルのサイトです)。

フレームワークも、根本的には dylibs と同じです。 違いは、外部リソースをカプセル化できるところです。
詳しいお話は、 アップルのサイトの解説をご覧くださいませ。

SFML でアプリ開発をする場合、1つだけ、両フォーマットの微妙な違いを知っておいて下さい。
SFML そのものを自前でビルドした場合は dylib 形式で、デバッグ版もリリース版も両方生成できます。 が、フレームワークではリリースビルドしかできないのです。
最終的に完成品をリリースするときには、どっちにしてもリリースビルドをすることになるので、 問題にはならないと思います。
と、そんなわけで、ダウンロードページに置いてある OS X 用の SFML ライブラリは、 リリースフォーマットの分しかないのでした。

Xcode テンプレート
Xcode4 以降のバージョン用に、SFML は2通りのテンプレートで提供されてます。 これを使うと手早く簡単にプロジェクトを構築できます。

テンプレートでカスタムプロジェクトを生成できます:
SFML を dylib として使うかフレームワークとして使うかに関わらず、 開発するアプリケーションがどのモジュールを使うのかを選択できます。 そして、リソースを全部含んだアプリケーションバンドルを生成するのか (アプリケーションのインストールプロセスはドラッグアンドドロップのような簡単な操作で作れます)、 それとも従来通りのクラシックなバイナリを生成するのかを選択できます。 詳しくはこのチュートリアルの続きをご覧ください。

注意点! これらのテンプレートは Xcode3 とは互換性がありません。 もし Xcode3 の IDE をアップデートせずに使い続ける場合は…… もちろん! それでも SFML を使ったアプリを開発できます! そのやり方の解説はチュートリアルの範囲を超えてしまうのでここでは割愛しますが、 アップルのドキュメントを見て、Xcode3 でライブラリをプロジェクトに追加する方法を探してくださいね。
C++ 11、libc++、libstdc++
アップルは Xcode に同梱して Clang や libc++ のカスタムバージョンを出荷してます。 C++11 の仕様を部分的にサポートしています(でも全機能ではない)。
C++11 の新機能を使う予定なら、プロジェクトを clang や libc++ を使うように設定します。

もし、libstdc++ に依存(直接、間接を問わず)するプロジェクトを開発するなら、 SFML を自前でビルドし、libstdc++ を使えるようにプロジェクトを設定してください。
SFML をインストール
なにはともあれ、まずはダウンロードのページで SFML の SDK をダウンロードしましょう。 そして、SFMLアプリの開発の準備として、下記のものをインストールしましょう:
SFML のサンプルプログラムを作る
Xcode 用に、2つのテンプレートがあります。
SFML CTL で従来通りのターミナルアプリケーションのプロジェクトを生成することができます。
一方、SFML App では、アプリケーションバンドルのプロジェクトを生成することができます。
このチュートリアルでは後者を使いますが、どちらでも仕組みは大体同じです。
まずは、"File > New Project" を選択。 そして 画面左の SFML を選択し、SFML App をダブルクリックします。

スクリーンショットを参考に、項目を埋めていきます。そして「Next」を押下。


これで、この新規プロジェクトは ".app" というアプリケーションバンドル に設定されました。
テンプレートの設定について一言。
"C++ Compiler and Standard Library" で互換性のないオプションを設定してしまうとリンカーエラーが発生します。 下記のガイドラインに従って下さい↓

これでプロジェクトの準備は完了です。
中身を見てみましょう:

ご覧のように、プロジェクトには最初からファイルがいくつかあります。
以下、その中の重要なものです:
他のファイルは、ここでは特に気にする必要はありません。
ただし、SFML が依存しているファイルもアプリケーションバンドルに追加されるので覚えておいて下さい (リソースが追加されるのと同じようなものです)。 このおかげで、作ったアプリを、すぐに実行できる状態で配布することができます。 他のマシンで動かすとき、SFML や依存ファイル群を別個にインストールする必要がありません。