http://www.ogre3d.org/wiki/index.php/SettingUpAnApplication#XCode を参考にXcodeでOgre3Dのプログラムを書いてみる。
メモwikiからの転載なので不明瞭な部分もあると思う。不明な部分を指摘していただけるとありがたい。
main.cppを書き換える
#include <Carbon/Carbon.h> #include "ExampleApplication.h" class TutorialApplication : public ExampleApplication { protected: public: TutorialApplication() { } ~TutorialApplication() { } protected: void createScene(void) { } }; int main(int argc, char **argv) { // Create application object TutorialApplication app; try { app.go(); } catch( Exception& e ) { fprintf(stderr, "An exception has occurred: %s\n", e.what()); } return 0; }
フレームワークの追加
OgreSDKをインストールしたところから
- Ogre.framework
- Cg.framework
を「追加 -> 既存フレームワーク」で行う。この際、参照方法は「絶対パス」を指定しておくとあとで楽 (このプロジェクトをテンプレートにするため)
システムディレクトリ (/Systems/Libraries/Frameworks)から IOKit.frameworkも追加。
あとOgreSDKから libios.aも追加する(追加 -> 既存ファイル)。「ディスティネーショングループのフォルダに項目を追加する」にチェックを入れる。
Xcodeの左ペインはこんな風。
設定ファイルをコピーする
設定ファイル類は少々複雑で面倒なのでSamplesからもらってくる事にする.
- plugins.cfg
- media.cfg
- resources.cfg
これらを OgreSDK/Samples/configから Resourcesの下へコピーする。「デスティネーショングループのフォルダに項目をコピーする」を忘れずに。
resources.cfgは以下のように書き換える。「../../../Samples → Contents/Resources」の置換をすると楽。
# Resource locations to be added to the 'boostrap' path # This also contains the minimum you need to use the Ogre example framework [Bootstrap] Zip=Contents/Resources/Media/packs/OgreCore.zip # Resource locations to be added to the default path [General] FileSystem=Contents/Resources/Media FileSystem=Contents/Resources/Media/fonts FileSystem=Contents/Resources/Media/materials/programs FileSystem=Contents/Resources/Media/materials/scripts FileSystem=Contents/Resources/Media/materials/textures FileSystem=Contents/Resources/Media/models FileSystem=Contents/Resources/Media/overlays FileSystem=Contents/Resources/Media/particle FileSystem=Contents/Resources/Media/gui FileSystem=Contents/Resources/Media/DeferredShadingMedia Zip=Contents/Resources/Media/packs/cubemap.zip Zip=Contents/Resources/Media/packs/cubemapsJS.zip Zip=Contents/Resources/Media/packs/dragon.zip Zip=Contents/Resources/Media/packs/fresneldemo.zip Zip=Contents/Resources/Media/packs/ogretestmap.zip Zip=Contents/Resources/Media/packs/skybox.zip
ヘッダファイルのコピー
main.cppで使っていたExampleApplication.hなどをコピーする。依存関係がわからないので OgreSDK/Samples/includeをディレクトリごとコピーする。これも「デスティネーショングループのフォルダに項目をコピーする」にチェックをいれる。
データのコピー
OgreSDK/Samples/Media をディレクトリごとResourcesにコピーする。以下のようにオプションを選ぶ。
ターゲットの設定
ターゲットで右クリック -> 情報を見る でダイアログを開く
構成の項目を「すべての構成」に、表示を「すべての設定」にする。
- リンク
- 「ゼロリンク」のチェックを外す
- 検索パス
- フレームワーク検索パスの2つ目を以下のように変更する
- "$(HOME)/Documents/Devel/OgreSDK/Dependencies"
- フレームワーク検索パスの2つ目を以下のように変更する
OgreSDKのインストール先を確実に指定するように。
- ヘッダ検索パスに以下の2つを追加する
- $(HOME)/Documents/Devel/OgreSDK/Dependencies/Ogre.framework/Headers
- $(HOME)/Documents/Devel/OgreSDK/Dependencies/include