Help us understand the problem. What is going on with this article?

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

More than 5 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

ビルド

自分の場合、上記の設定を行うことでビルドできるようになりました。
リンカエラーで手間取ってしまいましたが、大した修正なく動いて良かったです。

ignis
累計7000万DL超のスマホアプリを自社企画・開発 ツール系からマンガ、ゲームなど幅広いジャンルのアプリを展開
http://1923.co.jp/service-information
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away