cocos2d-x 3.2
OS: windows7 Pro
cocos2d-x 3.2をダウンロードして解凍すると、
でてきたフォルダ/ファイルが読み取り専用かつ暗号化されてた。
なんで?
とりあえず解除。まずかったら後で直す。
解凍してできた一番上のフォルダ名を"cocos2d-x-3.2"から"cocos2d-x"に
リネームして、c:\cocos2d-x\cocos2d-x-3.2\build,cocos,,,という配置にする。
インストールしてC:\Python27をPathに追加。
よくわからん。
Eclipse ADT Bundleをいれてみる。
adt-bundle-windows-~~みたいな長い名前のフォルダのまま
eclipseを初回起動しちゃったのはまずかった気がする。
今更このフォルダの名前を短くすると怒られる気がする。
NDKは一緒じゃなかったようなので別途ダウンロード。
解凍して出てきたフォルダを"ndk"にリネーム。
adt-bundle-windows-~~\に置く。(sdkフォルダと並べた)。
adt-bundle-windows-~~フォルダをPathに追加。
ANTもいるっぽいと思ったがeclipseが一緒に入れてくれたのかな?
eclipse\plugin\以下にそれっぽいのがあるようなないような。
とりあえずsetup.pyを起動してみる。
Pathはここでいれるのね。。
入れた。再起動した。
D:\projects以下にMyGameプロジェクトを作成するものとして、
> cocos new MyGame -p com.MyCompany.MyGame -l cpp -d D:\projects
と、参考ページに言われるがままに入力。
D:\projects\MyGame\proj.androidに移動して、
build_native.pyを実行。
なんかぽこぽこwarningがでているんだが。。。
error。だめじゃん。
jni/../../cocos2d/cocos/./3d/CCBundleReader.cpp:94:23: error: return type of
out-of-line definition of 'cocos2d::BundleReader::tell' differs from that
in the declaration
ssize_t BundleReader::tell()
jni/../../cocos2d/cocos/./3d/CCBundleReader.h:90:14: note: previous declaration
is here
long int tell();
なんかNDKのr10使ってると出るバグっぽい。
一番手っ取り早い回避策がNDKをr9dに落とすことだそうな。
r9dないじゃん。
こっちをためす
・Change long int to ssize_t in the declaration of BundleReader::tell(). You can refer to this pull request for detail information.
・Change APP_STL:=c++_static to APP_STL:=c++_shared, add LIBCXX_USE_GABIXX:=true in Application.mk, and modify your java activity code to load libc++_shared.so. You can refer to this commit for more detail information
が、だめ!!
いや、いやいや、なおすのはCCBundleReader.cppの
BundleReader::tell()の宣言?じゃなくて、CCBundleReader.hのtell()の宣言?
の方だったのかな?
CCBundleReader.hのtell()の型をlong intからssize_tにしたら
事なきを得たかも知れないような気がするが定かではない。
とりあえずerrorでコンパイルが止まらなくはなったので、いいかな。
ウィンドウ>設定>C/C++>ビルド>環境
の
名前『NDK_ROOT』
を追加。
ウィンドウ>設定>C/C++>コード解析 で、『Syntax and Semantic Errors』のチェックを外して、
D:\projects\MyGame\cocos2d\cocos\platform\android\java
を、既存コードからのAndroidプロジェクトとして新規プロジェクト追加。
D:\projects\MyGame\proj.androidはインポートで、
既存プロジェクトをワークスペースへ、で追加。
ここまできて仮想デバイスもしくは実機がいることに気づく。
elcipseで仮想デバイスの用意。
window > AVD Manager > create
で、できるかなー、と思ったけど、なんかCPUのimage的なものがないらしい。
installしないといけないのかな?よくわからん。つづく。
つづき。
eclipse起動してwindow > Abdroid SDK Manager
Androidって今いくつなの?わからないわ。
4.3にすっか。
Android 4.3 (API 18)をまるっとちぇっくしてinstall。
ちょっとした時間がかかるね。艦これの一人目は漣だったんですよ。
あれ?なんかIntell x86 atom system imageだけはいりませんでしたよ?
あー。ライセンスが別々だったのですね。ちゃんと読んだ上でそれぞれ
同意できるなら入れてもいい感じみたいです。すごい。
今一番レベル高いのが加賀だけど、嫁にしたいのはやっぱり漣なんだよねぇ。
改めてwindow > AVD Manager > create
??targetにAndroid 4.4しか選べないんだが。
なんかまずいのかなぁ。知らんから4.4のあれやこれやを入れる。
で、いれてみたけど変化なし。結局これは、SDK Managerでなんか入れたら
eclipseを再起動しろっていうありがたいあれだったようだ。
package explorerのproj.androidに思いっきりびっくりマークが出ているにも
かかわらず右クリック > デバッグ as > android applicationとするも
普通にerrorあるんですけどって言われる。
eclipse右下のwindow?のProblemsってタブを開く。
うーん、わからん。
なんかごちょごちょいじってCleanしてたらエラー消えたわ。
ブログにする意味のなさ。
立ち上がりつつあるのを固唾を飲んで見守る。
おっせ‥。
そこまで遅いマシンでもないと思うんだけど、どうなんだろう。
AVD用に諸々チューニングしてあげたほうがいいのかもね。
起動したAVDでMyGameを立ち上げようとすると、
Unfortunately, Mygame has stopped.
的なことを言われて起動せず。
ありがとうございました。