Cocos2d-x2.xのproject-creatorで作ったiOSプロジェクトのcocos2dxソースパスを変更する
追記 2014/01/08 12:07
cocos2d-x-3.0betaからproject-creatorで作ったプロジェクトにcocos2d-xのSourceが含まれるようになった。素晴らしい。
project-creator自体もGUIが立ち上がるようになってカジュアル感が増した。素晴らしい。
project-creatorでcocos2d-xのprojectを作ると、プロジェクトファイルより下の階層にcocos2d-xのソースコードが存在することになって、ディレクトリ構造が分かりにくくなる。
↓こうなってるディレクトリ構造を
cocos2d-x/
projects/
MyProject/
↓こうした上で、iOS/Android両方のBuildが出来るようにします
MyPorject/
libs/
cocos2d-x/
cocos2d-xのダウンロード
既にダウンロードしてる人は飛ばしてください。
cocos2d-xのバージョンは2.2.1で作業するので、適宜自分が使いたいversionと読み替えてください。
git clone https://github.com/cocos2d/cocos2d-x.git cd cocos2d-x git checkout cocos2d-x-2.2.1 git submodule init git submodule update
projectの作成
cd tools/project-creator ./create_project.py -project MyPorject -package com.MyCompany.AwesomeGame -language cpp
これでcocos2d-x/projects/MyPorjectが作成される。
projectの設定
フォルダを移動する
cocos2d-xとMyPorjectを目的のディレクトリ構造にする。
MyPorjectを移動する
create_projectで作ったprojectを、Documents直下とかに移動する。
Documents直下にcocos2d-xがあったらこんな感じ
Documents/
cocos2d-x/
MyPorject/
libsにcocos2d-xを移動する
MyPorjectの中にlibsフォルダを作って、その中にcocos2d-xのソースを移動する。
Documents/
MyPorject/
libs/
cocos2d-x/
Xcode projectを修正する
この段階でMyPorject.xcodeprojを開いてもビルドエラーになるので、色々修正する。

こんな感じで赤く表示されるので、まずはコレをどうにかする。
cocos2dx.xcodeprojのパスの修正
cocos2d-x-3.0alpha1だとcocos2dx_libs.xcodeprojとかになってる。

cocos2dx.xcodeprojを選択すると右カラムに表示されるLocationを修正する。
フォルダアイコンをクリックすると、フォルダ選択画面が出るので、MyPorject/libs/cocos2d-x/cocos2d-x/cocos2dx/proj.ios/cocos2dx.xcodeprojを選択する。
正しく設定できていれば左カラムのcocos2dx.xcodeprojの文字色が黒くなる。
cocos2d-xのソースパスも修正
同じ要領で下記5つのパスも修正する。
- Box2d
- chipmunk
- CocosDenshion
- extensions
- libwebsockets
cocos2d-x-3.0だとprojectのパスを修正するだけで済むから楽。
cocos2d-xのbinaryをprojectに追加する。
右カラムでMyPorjectを選択→メインのViewでBuild Phasesを選択→Link Binary With Librariesを追加する。
画面はこんな感じになってるはず

この画面の.aファイルとかがあるところに、左カラムのcocos2dx.xcodeproj/Productsのlibcocos2dx.aをドラッグアンドドロップで追加する。
Build Settingのパスを修正する
MyPorjectを選択→メインのViewでBuild Settingを選択→TargetsのMyPorjectを選択。
ここにあるHeader Search PathsとLibrary Search Pathを修正する。検索窓にcocoって打つと出てくるので分かりやすい。

各Search Pathsをダブルクリックして出てくるViewに書いてあるパスをフォルダ移動後のものに置き換える
cocos2d-x-3.0の場合はPorjectのMyPorjectの設定も変えなきゃいけない。
Header Search Paths
↓これを

↓こうする

Library Search Path
↓これを

↓こうする

AndroidのBuild
AndroidのBuildはproj.android/build_native.shとproj.android/project.propertiesのパスを修正すれば初期状態でのBuildは通るようになります。
build_native.sh
# COCOS2DX_ROOT="$DIR/../../.." COCOS2DX_ROOT="$DIR/../libs/cocos2d-x"
project.properties
# android.library.reference.1=../../../cocos2dx/platform/android/java android.library.reference.1=../libs/cocos2d-x/cocos2dx/platform/android/java