Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

複数人でcocos2d-xで開発するためにやっておきたい設定

過去の記事の転載です。情報が古いかもしれません


現在、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
      • 画像ファイル達
  • アプリ名.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を設定するやつ

は環境に合わせないといけないので、それだけは仕方ないですね!

おわりに

このあたりの環境設定なんとか便利になってほしい。。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?