所以我正在尝试使用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
文件夹,并手动添加预先制作的类,不再给出任何错误。我不知道为什么会这样,但它确实有效。
抓一点,现在我只在四个文件中的一个中出错。在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
错误。最让我困惑的是,在我打开文件并加载错误之前,所有内容都会编译并运行正常。
答案 0 :(得分:2)
在运动中,你应该使用COCOCS 2d-x2.2在cocos2d-x中创建项目。这很容易也很好。试试吧。
还有一件事去了Projectproperty int eclips和codeAnalysis(在C / c ++ Gneral中),然后点击使用项目设置UNMARK的SYANTax和Semantics错误的CHECK框。 它会消除很多错误
答案 1 :(得分:0)
确保两件事:
在您自己的项目目录下导入libcocos2dx,如http://www.cocos2d-x.org/wiki/How_to_Build_an_Android_Project_with_Eclipse所述;
在您的项目中 - 属性 - C / C ++一般&gt;代码分析,取消选择语法和语义错误 - 否则您将看到错误,并且无法从Eclipse构建。
答案 2 :(得分:0)
我不知道为什么会这样,但你可以:
这将删除错误,以便您可以再次构建/运行项目。