読者です 読者をやめる 読者になる 読者になる

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を開いてもビルドエラーになるので、色々修正する。

f:id:gin0606:20140106154129p:plain

こんな感じで赤く表示されるので、まずはコレをどうにかする。

cocos2dx.xcodeprojのパスの修正

cocos2d-x-3.0alpha1だとcocos2dx_libs.xcodeprojとかになってる。

f:id:gin0606:20140106154414p:plain

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を追加する。

画面はこんな感じになってるはず

f:id:gin0606:20140106154957p:plain

この画面の.aファイルとかがあるところに、左カラムのcocos2dx.xcodeproj/Productslibcocos2dx.aドラッグアンドドロップで追加する。

Build Settingのパスを修正する

MyPorjectを選択→メインのViewでBuild Settingを選択→TargetsのMyPorjectを選択。

ここにあるHeader Search PathsLibrary Search Pathを修正する。検索窓にcocoって打つと出てくるので分かりやすい。

f:id:gin0606:20140106160841p:plain

各Search Pathsをダブルクリックして出てくるViewに書いてあるパスをフォルダ移動後のものに置き換える

cocos2d-x-3.0の場合はPorjectのMyPorjectの設定も変えなきゃいけない。

Header Search Paths

↓これを

f:id:gin0606:20140106162817p:plain

↓こうする

f:id:gin0606:20140106162836p:plain

Library Search Path

↓これを

f:id:gin0606:20140106162850p:plain

↓こうする

f:id:gin0606:20140106162858p:plain

AndroidのBuild

AndroidのBuildはproj.android/build_native.shproj.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

以上を済ませれば、iOS/AndroidのBuildが成功するはず。