画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

MacにCocos2d-xの開発環境を作る

こちらのサイト参照

http://rakuishi.com/cocos2d-x/5810/

このサイト以外にやった事をメモっていく。

プロジェクトを作成する時のコマンド

本文中には、以下の用に書いてあったが、今回はjavascriptのプロジェクトを作成したかったので、cppではなく、javascritpとする。 気分的にプロジェクト名もMyJsProjectとしてみた。

$ ./create_project.py -project MyProject -package com.mapyo.myproject -language cpp
↓
$ ./create_project.py -project MyJsProject -package com.mapyo.myproject -language javascript

eclipseでビルドしようとする

以下のエラーたちが発生したので、やっつけていく。

eclipsebuild_native.shの修正

eclipseでビルドしようとする(勝手にやってくれる)と、以下のようなエラーが発生

**** Build of configuration Default for project MyJsProject ****
bash /Applications/cocos2d-x/projects/MyJsProject/proj.android/build_native.sh
please define NDK_ROOT
**** Build Finished ****

以下のサイトを参考にbuild_native.shNDK_ROOTのパスの指定を行う。

NDK_ROOT="/Applications/android-ndk" 

※最初に参考にしたサイト通りにしていれば、COCOS2DX_ROOTのパスの設定は必要ない!
http://qiita.com/CsStay47/items/72c60f7435ccda4d55e9


また、AndroidManifest.xmlの設定も同時に行っておく。 自分で作成したプロジェクトと、libcocos2dxのプロジェクトも修正した。
project.propertiesの設定をするとエラーになる!

eclipse]プロジェクト実行時に以下のエラー

Errors occurred during the build.
Errors running builder 'Integrated External Tool Builder' on project 'MyJsProject'.
The builder launch configuration could not be found.The builder launch configuration could not be found.

参考サイト
http://stackoverflow.com/questions/12836941/the-builder-launch-configuration-could-not-be-found

f:id:mapyo:20130827005928j:plain

こいつが赤くなってたのでremoveしてみる。

ここまででGALAXY Nexusだったら実機で実行出来るようになった。

eclipse]以下のようなエラー

Description     Resource     Path     Location     Type
make: *** [obj/local/x86/objs-debug/cocos2dx_static/platform/android/CCCommon.o] Error 1     puzzle                C/C++ Problem
format not a string literal and no format arguments [-Werror=format-security]     CCCommon.cpp     /puzzle/cocos2dx/platform/android     line 54     C/C++ Problem
format not a string literal and no format arguments [-Werror=format-security]     CCCommon.cpp     /puzzle/cocos2dx/platform/android     line 44     C/C++ Problem

jni/Application.mkに以下を追加する。

APP_CFLAGS += -Wno-error=format-security

eclipseエミュレータで起動しない。

一方、GALAXY Nexusのエミュレータで起動しようとすると、出来ない。。。 logcatに以下のようなエラーが出ている。。。。

E/AndroidRuntime(617): FATAL EXCEPTION: GLThread 79
E/AndroidRuntime(617): java.lang.IllegalArgumentException: No configs match configSpec
E/AndroidRuntime(617):      at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:838)
E/AndroidRuntime(617):      at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:994)
E/AndroidRuntime(617):      at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1348)
E/AndroidRuntime(617):      at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1202)

GPU emulationをオンにしたらよいらしい。 f:id:mapyo:20130827005931j:plain

しかし、この設定で起動するとエミュレータが重くなりすぎてまともに動かなかった。。。

これは、TargetのAndroidのバージョンを上げると解消されるようだ。 手元で確認したかぎりでは、Android4.1.2にするとエミュレータが起動するようになった。

起動できたー!!! f:id:mapyo:20130827005933j:plain

Eclipseの設定

Eclipse上でAVD Managerを起動するメニューがなかったので作成。 http://www.devlog.alt-area.org/?p=547

iosXcodeでRunボタンを押してもシミュレータが立ち上がってこない。。。

Product→Schem→Edit Scheme→Run MyJsProject

f:id:mapyo:20130827005936j:plain

Product→Schem→Edit Scheme→Run MyJsProject f:id:mapyo:20130827005938j:plain

上記の2点を対応すると、エミュレータが立ち上がってきた!!!

やったー! f:id:mapyo:20130827005941j:plain

まとめ

振り返って見るとちゃんとまとまってないなー。。。