cocos2d-x

[Cocos2d-x] 2.2.3 で作ったプロジェクトを 2.2.6 で動くようにする

More than 3 years have passed since last update.


Cocos2d-x 2.2.6

1ヶ月くらい前にCocos2d-x 2.2.6がリリースされました。

主な内容はiOSの64bitサポートです。

Cocos2d-x 2.2.6 released: IOS 64-bit supported | Cocos2d-x

2月から新規にリリースするiOSアプリは64bit対応が必須になりましたが、これまでCocos2d-x 2.x系は64bitをサポートしていませんでした。

アップデートでのリリースに関しては6月まで猶予があるみたいですが、それでも2.x系から3.x系に移行するのは大変そうです。

2.2.6のお陰で、その手間が少し軽減されました。


アップデートする

自分が2.2.3で作成したプロジェクトを2.2.6へアップデートした際のメモです。


ディレクトリの移動

基本的にCocos2d-xのプロジェクトは<SDKのディレクトリ>/projectsに保存されています。

自分の場合、Cocos2d-xのバージョンごとにディレクトリを分けていたので、cocos2d-x-2.2.3/projects/からcocos2d-x-2.2.6/projects/に移動させました。


iOS Deployment Target

アプリのプロジェクトと、Cocos2d-xのプロジェクトのiOS Deployment Targetを合わせます。

もしかしたら、合わせなくても問題ないかも知れません。

自分はここが合っていなくてエラーになったことがあったので、合わせるようにしています。


Architecturesを64bit対応にする

Architecturesのところを$(ARCHS_STANDARD_32_BIT)としている場合は、64bit対応のStandard architectures (armv7, arm64) - $(ARCHS_STANDARD)に切り替えます。

Valid Architecturesはarm64 armv7 i386としました。

2.2.6でプロジェクトを作った時は上記構成になっていたので、同じようにしています。armv7sも追加した方が良いのかも知れませんが、よくわかっていません。


64bit非対応のライブラリを使用している場合は外す

64bitに対応していないライブラリを使っている場合は外しましょう。


不足しているファイルを追加する

2.2.3 から 2.2.6 へのアップデートの間にいくつかのファイルが追加さているようです。

この状態でビルドしてもリンカエラーが発生するので、不足しているファイルをプロジェクトに追加します。

extensions/CocoStudio内のActionTimelineディレクトリと、extensions/CocoStudio/Json/内のCocoLoader.hCocoLoader.cppを追加します。

tree.png


ビルド

自分の場合、上記の設定を行うことでビルドできるようになりました。

リンカエラーで手間取ってしまいましたが、大した修正なく動いて良かったです。