1

所以我正在尝试使用 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文件夹中的任何文件,它会突出显示大量无法解决的错误,并且我无法再编译。这是我的 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错误。最让我困惑的是,在我打开文件并加载错误之前,一切都可以编译和运行。

4

3 回答 3

2

在运动中,您应该使用 COCOCS 2d-x2.2 在 cocos2d-x 中创建项目。这很容易而且很好。尝试一下。

还有一件事是转到 Projectproperty int eclips 和 codeAnalysis(在 C/c++ Gneral 中)然后单击使用项目设置 UNMARK SYantax 和 Semantics 错误的 CHECK 框。它将消除很多错误

于 2013-11-19T05:58:47.813 回答
0

确保两件事:

  1. 在您自己的项目目录下导入 libcocos2dx,如此处所述http://www.cocos2d-x.org/wiki/How_to_Build_an_Android_Project_with_Eclipse

  2. 在您的项目 - 属性 - C/C++ 常规 > 代码分析中,取消选择语法和语义错误 - 否则您将看到错误并且无法从 Eclipse 构建。

在此处输入图像描述

于 2014-04-26T01:38:20.533 回答
0

我不知道为什么会这样,但你可以:

  1. 右键单击 Eclipse “ Package Explorer ”中的项目
  2. 点击“运行 C/C++ 代码分析

这将删除错误,以便您可以再次构建/运行您的项目。

于 2014-05-08T13:00:31.740 回答