2012年5月22日火曜日

Androidでcocos2d-xをやり始めた その2

前回はcocos2d-xをビルドしてAndroidアプリとして動かすところまで行いました。
今回は実際にコーディングを行うC++のクラス類の読み込みのところから行っていきます。
何故このようなことをすると言いますと、JavaもC/C++も一緒にビルドが行えるらしいのです。
なんと便利。
いちいちコマンドを打たなくても一緒にビルドが出来るのなら楽をしたいじゃないですか。

というわけで、ちみちみと設定を行っていきます。
参考にしたURLは前回記載したURLと同じですので、そちらを参考にしてください


まず、cocos2d-xとして作成してEclipse内に作ったプロジェクトを右クリックして、「New→Others→C/C++→COnvert to a C/C++ Project(Adds C/C++ Nature)」を選択します。

この箇所をクリック
そうしますと、次にこのようなダイアログが表示されます。
この時に「Project type」の「Makefile project」は「Other Toolchain」を選択してFinishボタンを押します。
このように選択すればOK

次にC/C++プロジェクトのビルド設定を行って行きます。
プロジェクトを選択し、「Properties→C/C++ Build→Builder Settingsタブ」を選択し、「Use default build command」のチェックを外します。
それから、Build commandに
bash ${workspace_loc:/プロジェクト名}/build_native.sh NDK_DEBUG=1 V=1
と記入します。
私の場合、「MegTest」で作っていますので、
bash ${workspace_loc:/MegTest}/build_native.sh NDK_DEBUG=1 V=1 
と記入します。
記入が終わりましたら、Applyを選択し、OKを選択します。
このように記入します。
そして、プロジェクトをビルドして、ログに出力されればビルドに成功しています。
ログがずらずらと。
気になったのは、こちらとログの種類が異なっているんですよね…。
うーん、バージョンの問題なんですかね…。
とりあえず、放置しておきます。

ファイルを開くとわかりますが、WarningやErrorが大量に入っています。
これらを取り除く作業を行います。
プロジェクトの「Properties→C/C++ General→Paths and Symbols」を開きます。
その中のIncludesタブ内のGNU++を選択します。
そして、AndroidNDK内にある今回選択したプロジェクトターゲットのパスとcocos2d-xのパスを追加します。
/Applications/android-ndk-r8/platforms/android-8/arch-arm/usr/include
/Applications/cocos2d-1.0.1-x-0.12.0/cocos2dx/include
パスを追加したらApplyを選択して、OKを選択します。
前回と同じ注意なのですが、パスはそれぞれの環境に合うように通してください。 


まだまだエラーが出ているので設定を弄り倒したいと思います。
まず、「#include "AppDelegate.h"」の箇所でエラーが出ています。
これもパスの問題らしいので、それを修正していきます。
プロジェクトの「Properties→C/C++ General→Paths and Symbols」を開きます。
その中のSource locationタブのLink Folderを選択します。
そうすると、新しくダイアログが表示されます。
そのダイアログのLink to a folder in the file systemにチェックを入れて、Browseで「cocos2d-x/プロジェクト名/Classes」のフォルダを選択します。
このように設定します。
最初の物をキャプチャし忘れたので、エラーになっています…。
最初はエラーにならないです。


そしてこのダイアログのOKボタンを押すと小さなダイアログは消えます。
次の元々表示されていたダイアログがありますので、いつも通りApplyを選択して、OKを選択します。
そうしますと「#include "AppDelegate.h"」の箇所でエラーが出なくなりました。
ただ、EclipseでのC++のヘッダファイル読み込みはあまりよろしくないために、エラーが吐かれているらしいです。
なんてこったい。


というわけで、コード解析の設定を弄ります。
「Properties→C/C++ General→CodeAnalysis」を選択します。
ワークスペース全体に対して設定を行いたいのなら、「Use workspace settings」にチェックを入れて、Configure Workspace Settingsを選択します。
ワークスペース全体に対して設定を行うため、このような表示になる。
Syntax and Sematinc Errorsのチェックを外せばエラーが出なくなります。
ちょっと怖いですが、とりあえずこれで進めようかなと思います。
設定に関しては、プロジェクト毎にも設定できますので他の物に対して影響を出したくない場合は、プロジェクト毎に設定を行うのが良いでしょう。

この状態でEclipseでビルドを行いましてアプリを端末に入れましたところ、アプリの変更点(Hello WorldをMegTestに変えた程度です)が反映されていました。
これでコマンドを打たなくてもビルドが行えるようですので良かったです。

まだ、続きがあるのですがそちらは後日に書ければ良いなと思っています。

0 件のコメント:

コメントを投稿