仕事から帰って開発しようとEclipseを起動し、いつもの癖でそのままビルド(実行)しようとしたらいきなりこんなエラーが出て実行できなくなった。
/cygdrive/c/dist/android-ndk-r8e/build/core/build-binary.mk:272: recipe for target `obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o’ failed
make: *** [obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o] Error 2
make: *** Deleting file `obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o’
make: *** [obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o] Error 2
make: *** Deleting file `obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/AppDelegate.o’
何度実行しても同じエラーが出るから(ぼくの性格上理由がわからない場合はとりあえず何度か実行してみちゃうんです)仕方なくエラー文面を読んでみると、AppDelegate.o failedってでてる。うん、見りゃわかりますね。
でもぼく何もしてないっす(´・ω・`)ビルドしようとしただけなのに…
この「obj/local/armeabi/obj/cocos2dcpp_shared/__/__/Classes/」というディレクトリは、cocos2dxで作成したプロジェクトディレクトリ内のproj.androidディレクトリの中にあるみたい。
そんなわけでそこに行ってみると、AppDelegate.oがない。
その下にDeletingってなってるから、この子消しちゃったのかな。
ところでこの「obj」ディレクトリ、どうもビルド時に自動生成されるものみたい。
まだ何もビルドをしてないプロジェクトのを見てみると、obj自体がない。
そんなわけでobjディレクトリの作成に何かしらの理由で失敗しちゃって欠損ができ、それでビルドできなくなったのかなって推測して、objディレクトリそのものを全部消して再度ビルドしてみた。
ゼロからビルドしなおすことになるんでかなり時間がかかったけど、無事起動してくれた。よかったよかった。
でもなんでいきなり消えちゃったのかなぁ。ドロイド君のご機嫌が斜めだったのかな。
まあ、とりあえずいきなりビルド失敗しはじめた時の対処法。
「objディレクトリを消す」
ってことでいいのかな。
※念のためバックアップはとってやったほうがいいかもですね。