過去の記事の転載です。情報が古いかもしれません
現在、cocos2d-x-2.0.4を使っていますが、ビルド時など各種ローカルパスがみんなで違っていて、いちいち設定し直す必要があります。。。
これは面倒くさい!
ということで、提案なんですが、統一しませんか?
これをやっておけば、cocos2d-2.0-x-2.0.4/ファイル以下にプロジェクトファイルをおかずに済む!など各種メリットがあります!
cocos2dxのファイルの設定
cocos2dxのサイトからDLした、ファイルは以下のように起きましょう。
あと、AndroidのNDKも!
# cocos2dxのファイルパス
/Develop/cocos2dx/cocos2d-2.0-x-2.0.4
# AndroidのNDKのパス
/Develop/android/android-ndk-r8b
/User/hogehoge/うんちゃらかんちゃら
ではなく、/Develop/
以下に各種ファイルをおいておけば、みんなパスが一緒でハッピー!
build_native.shの書き方
そうしておけば、buld_native.shが統一的に書けます。
以下のようなファイル構成にしましょう。iOSとAndroidを開発するときによくやるファイル構成のはず...
- アプリ名
- Classes
- cppのファイル達
- proj.android
- Androidのファイル
- Resources
- 画像ファイル達
- Classes
- アプリ名.xcodeproj
そして、build_native.shの上のほうの一部は以下のようにしましょう
NDK_ROOT=/Develop/android/android-ndk-r8b
COCOS2DX_ROOT=/Develop/cocos2dx/cocos2d-2.0-x-2.0.4
GAME_ROOT="$(cd ../../ && pwd)"
GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
RESOURCE_ROOT=$GAME_ROOT/Resources
これで、統一されるはず
proj.android/jin/Android.mk
あとパスが関わってくるのはAndroid.mkですかね。
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
/Develop/cocos2dx/cocos2d-2.0-x-2.0.4/cocos2dx/platform \
/Develop/cocos2dx/cocos2d-2.0-x-2.0.4/external \
/Develop/cocos2dx/cocos2d-2.0-x-2.0.4/external/Box2D
こんな感じ。これで、ほとんど環境依存をなくせるのではないでしょうか?
.gitignoreの設定
まだ、ちゃんとは理解してませんが、とりあえず、こんな感じ
# Mac
.DS_Store
# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Cocos2dx Android
bin
*.so
*.o
*.o.d
それでも、./build_native.sh
が出来ないとき
上記の.gitignoreを設定していれば、大丈夫だと思いますが、たとえばgitを使わずにファイルを貰った時に、./build_native.sh
が出来ない場合があります。
以下のようなエラーログが吐き出されます
make: No rule to make target `/cygdrive/c/cocos2d-x/AppTest/proj.android/../../cocos2dx/CCConfiguration.cpp', needed by `obj/local/armeabi/objs-debug/cocos2dx_static/CCConfiguration.o'. Stop
なんかファイルが残ってい未定なので、以下のファイルを消してやります。
- proj.android/libs/armeabi
- proj.android/obj
これで、もう一度、./build_native.sh
すれば、できるはず!
参考:http://www.cocos2d-x.org/boards/6/topics/17716
Eclipseの設定
- build_native.shを設定するやつ
は環境に合わせないといけないので、それだけは仕方ないですね!
おわりに
このあたりの環境設定なんとか便利になってほしい。。