そこで、cocos2d-x-3.0 を使用してプロジェクトをセットアップしようとしています。すべてを問題なくセットアップし、新しいプロジェクトを Eclipse に問題なくインポートして実行できます。ただし、main.cpp
初めてファイルを開くと、一連のエラーが表示され、プロジェクトをコンパイルできなくなります。それが私に与えるエラーUnresolved inclusion: AppDelegate.h
は#include "AppDelegate.h"
#include "AppDelegate.h"
#include "cocos2d.h"
#include "CCEventType.h"
#include "platform/android/jni/JniHelper.h"
#include <jni.h>
#include <android/log.h>
#define LOG_TAG "main"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
using namespace cocos2d;
void cocos_android_app_init (struct android_app* app) {
LOGD("cocos_android_app_init");
AppDelegate *pAppDelegate = new AppDelegate();
}
Classes
次に、プロジェクトのフォルダーにクラスがあるにもかかわらず、プロジェクトのフォルダーが空であることに気付きましたClasses
。そこでClass
、プロジェクト フォルダー内の自動生成された Classes フォルダーへのリンクを含む新しいフォルダーを追加しました。これで問題は再び修正されますが、新しいフォルダー内のいずれかのファイルを開くと、Class
解決できないエラーの TON が強調表示され、コンパイルできなくなります。これが私の AppDelegate.h ファイルの一部です。
#ifndef _APP_DELEGATE_H_
#define _APP_DELEGATE_H_
#include "cocos2d.h"
/**
@brief The cocos2d Application.
The reason for implement as private inheritance is to hide some interface call by Director.
*/
class AppDelegate : private cocos2d::Application
{
cocos2d::Application
と言う部分に誤りがありますSymbol 'Application' could not be resolved
。
編集:プロジェクトを作り直した後、Classes
フォルダーがEclipseで非推奨として自動的にマークされていることを発見しました。新しい(リンクされていない)Class
フォルダーを作成し、事前に作成されたクラスを手動で追加することができ、エラーは発生しなくなりました。これがなぜなのかわかりませんが、うまくいきました。
それをスクラッチすると、4 つのファイルのうちの 1 つのみでエラーが発生するようになりました。でHelloWorldScene.cpp
:
// add a "close" icon to exit the progress. it's an autorelease object
auto closeItem = MenuItemImage::create( // Says "Invalid arguments" for the create call
"CloseNormal.png",
"CloseSelected.png",
CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); // "Symbol'_1' could not be resolved" (What is Symbol_1)?
closeItem->setPosition(Point(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
origin.y + closeItem->getContentSize().height/2));
// create menu, it's an autorelease object
auto menu = Menu::create(closeItem, NULL);
menu->setPosition(Point::ZERO);
this->addChild(menu, 1);
そこにはさらにいくつかのCould not be resolved
エラーInvalid arguments
があります。これについて私を最も混乱させるのは、ファイルを開いてエラーが読み込まれるまで、すべてが正常にコンパイルおよび実行されることです。