概要
cocos2d-xは現在4.xが最新版であり、公式サイトからダウンロードできるv3は3.17.2で停止しているが、
githubではv3タグで3.17.2以降にも修正が入っている。
そこでv3を継続して利用するためにv3の最新版を利用する手順をまとめておく。
作業環境
CentOS 7.9 (7.9.2009)
手順
https://github.com/cocos2d/cocos2d-x のREADMEの手順に従う。
1. githubのリポジトリをcloneする
$ git clone https://github.com/cocos2d/cocos2d-x.git
cloneした直後は最新版のv4のタグになっているので、v3に切り替える。
gitの設定でプロンプトにブランチを表示できるようにしておくと良い。
$ cd cocos2d-x/
cocos2d-x (v4) $ git checkout v3
cocos2d-x (v3) $
tigコマンドで履歴を確認すると、直近では2020/4/30に更新が入っており継続してメンテナンスされている事が分かる。
2. 依存関係のファイルをダウンロードする
ダウンロードにはPythonを使用するが、2.xが必要なので注意。
CentOS8の場合は、yum install python2でインストール可能。
最後の質問は、依存関係のファイル「v3-deps-172.zip」を残すかどうかという意味。
ダウンロードが終わっているので、残す必要がないのでnoを入力してエンター。
cocos2d-x (V3) $ python2 -V
Python 2.7.18
cocos2d-x (v3) $ python2 download-deps.py
...
==> Would you like to save 'v3-deps-172.zip'? So you don't have to download it later. [Yes/no]: no
3. サブモジュールの初期化
githubの仕様変更によりgit submodule update --initが失敗する。
httpsでアクセスするように.gitconfigを修正する必要がある。
$ git config --global url."https://".insteadOf git://
これにより、~/.gitconfigに以下の変更が追加される。
ユーザー単位の永続的な設定変更となるので、不都合が起きたら該当の部分を削除すれば良い。
- ~/.gitconfig
[url "https://"]
insteadOf = git://
上記の設定してからサブモジュールを初期化する(clone)。
cocos2d-x (v3) $ git submodule update --init
4. cocos2d-console をダウンロード
cocos2d-x (v3) $ cd tools/cocos2d-console/
cocos2d-x/tools/cocos2d-console/ ((af07b34...)) $ python2 download-bin.py
...
==> Delete 'v3-console-16.zip' file? It may be reused when you execute this script next time! (yes/no): yes
以上で最新のv3環境が準備できた。
補足:Windowsで使う場合
例えば、今回作業したcocos2d-xディレトリをtarで固めてWindowsに持っていって解凍すると
シンボリック関係でエラーが起きてしまう。
具体的には以下のシンボリックリンクが問題となる。
$ ls -l cocos2d-x/external/linux-specific/fmod/prebuilt/64-bit/
libfmodL.so
libfmodL.so.6 -> libfmodL.so
libfmod.so
libfmod.so.6 -> libfmod.so
シンボリックリンクも実ファイルにすれば問題が起きない。
Sambaを導入している場合は単にSamba経由でcocos2d-xディレクトリをWindows側にコピーするだけで解決。
Vagrant環境ならcocos2d-xディレクトリを/vagrant/にコピーしてWindows側に共有しても良い。