cocos2dx2.1.4からcocos2dx2.1.5への移行

Pocket

cocos2dxせっかくcocos2dx2.1.5が正式にリリースされたということで、今まで2.1.4を使ってたのをなんとなくこんな感じでやったらいいのかなってやり方で移行してみました。メジャーバージョンアップでもなかったし、結構簡単でした。

※ただ多分できた、という感じだからバックアップは必須かもです。
※もしやる場合自己責任でお願いします(あと、もっと簡単な方法があったら教えてほしいです)

その1.cocos2dx-2.1.5の入手

cocos2d-x.orgより入手できます。ダウンロードして適当なディレクトリへぶっこみます。

その2.projectsディレクトリを移動させる

2.1.5を適当なディレクトリへ入れたら、前の2.1.4のディレクトリから移動させます。
※失敗すると怖いし、コピペの方がいいかもですね。

move_project

もしcocos2dxディレクトリ内のものを何かしら変更したり追加してる場合、それらも修正または移動させる必要があります。
ちょっと面倒だから、カスタマイズする場合や付け足す場合は別のディレクトリを用意してそこからやる、というようにする方がいいのかもですね。

その3.Xcode(iOS)の移行処理

とても簡単でした。移動させたprojectsディレクトリ内からプロジェクトを選択し、proj.ios内にあるxcodeprojを起動するだけ。
こんなんで本当にちゃんと移行させられたのかなって心配になるくらい簡単だけど、HeaderSearchPathとかはちゃんと「2.1.5」に指定されてあるから、多分うまくいった気がします。ビルドもできました。

※cocos2dx内をカスタマイズしてる場合、ソースファイルを追加したりと多少いじる必要がありますけど。

その4.eclipse(Android)側の移行処理

こっちはちょっとだけ面倒でした。手順としては、

proj.android内にあるobjディレクトリを削除

必要かどうかはわからないけど、以前この部分でハマったことがあったから、削除しちゃいます。このディレクトリはビルド時に自動でできるものみたいなので。
(一応はバックアップをとってやった方がいいかも。というか削除する必要もないのかもしれないですが)

ADTを起動し、左ペインのプロジェクトを全部削除

もちろん完全に削除じゃなく、左ペインからなくすだけですけど。
こんな感じに聞かれるから「ディスク上から…」にチェックを入れずにOKするだけ。

delete

環境設定のCOCOS2DXのパス変数を変更

「環境」→「一般」→「ワークスペース」→「リンクされたリソース」のパスを2.1.5のに変更します。

replace2.1.5

左ペインにlibcocos2dxのプロジェクトを追加

何に使ってるのかよくわからないけど、必要みたいなのでとりあえず追加します。
「新規」→「プロジェクト」を選択し、「既存のコードからのAndroidプロジェクト」を選択します。後は「cocos2dx-2.1.5/cocos2dx/platform/android/java」を選択し、追加します。

左ペインに追加したいプロジェクトを追加

それが終わったら、同じように追加したいプロジェクトを追加します。
MyProjectという名前だったら、「cocos2dx-2.1.5/projects/MyProject/proj.android」ですね。

きっとエラーがでます。

少なくともぼくは出ました。ただここは白けた顔つきをしながら作業を続けます。
プロジェクトの「プロパティ」を選択し、その左ペインから「C/C++一般」→「パスおよびシンボル」を選択します。
インクルードの画面で、「2.1.4」になってるやつを白けた顔で2.1.5へとかえていきます。

replace2.1.5_2

それでもエラーがでる場合、Android.mkがなにやらおかしなことになってるはずなんで(たとえばcocos2dx内をカスタマイズして新しいソースファイルを追加してる場合とか)、ちょこちょこといじります。

ちなみに、eclipseの場合${ProjDirPath}の変数を使っていればそんな煩わしいことしなくてすむらしいですね(´・ω・`)

完成〜\(^o^)/

多分ですけど、これで移行できるっぽいです。
もしかしたらどこかで不具合が起きたりしそうな気もするけど、Xcodeもeclipseも両方ビルドできテストもできたんで、多分大丈夫かなあ?

とりあえず、オープンソースということでcocos2dx内の中身をどんどんカスタマイズしちゃってて、それが結構めんどうだったけど…。
やっぱり、カスタマイズする場合は別のディレクトリを作ってそっちでやる、という方がよさげですね(´・ω・`)

今度やってみよ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です