現在(2019/10/23)の最新版v3.17.2でCocos2d-xで久々にiOSとAndroidでHello worldをコンパイルした。
プロジェクトデフォルトのHello worldのコンパイルをするのにググったり苦労したのでヒントなど。
##iOS
xcode 11でコンパイルするとエラーになる。
error : Argument value 10880 is outside the valid range [0, 255] btVector3.h
btVector3.hの
#define BT_SHUFFLE(x,y,z,w) ((w)<<6 | (z)<<4 | (y)<<2 | (x))
を
#define BT_SHUFFLE(x, y, z, w) (((w) << 6 | (z) << 4 | (y) << 2 | (x)) & 0xff)
に置き換える
##Android
###NDK
NDKは、cocos2d-x 3.17.1時点で16なので、Android NDK 16bを選んだ。
https://discuss.cocos2d-x.org/t/which-ndk-to-use-on-3-17-1/45584
We still used NDK16.
ダウンロードはこちらから
https://developer.android.com/ndk/downloads/older_releases.html?hl=ja
Android Studio
そして、Android Studio 3.5が最新であるがコンパイルができない。
Caused by: org.gradle.internal.UncheckedException: Build command failed.
make: *** No rule to make target `cocos2djs'. Stop.
Android Studio 3.2を使うとコンパイルできる。
(https://teratail.com/questions/178744
のコメント欄より)
ダウンロードはこちらから
https://developer.android.com/studio/archive.html
とりあえずは動かせた。
cmake推奨となっているようでAndroid Studioの最新版でコンパイルしたい場合はビルドツールをndk-buildからcmakeに変更するといいのかもしれない。
https://qiita.com/ugonight_nanase/items/0cab13437dfa2ae003bd