【问题标题】:Many Errors with cocos2d-x-3.0 project creationcocos2d-x-3.0 项目创建的许多错误
【发布时间】:2013-11-14 02:35:33
【问题描述】:

所以我正在尝试使用 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 resolvedInvalid arguments 错误。最让我困惑的是,在我打开文件并加载错误之前,一切都可以编译和运行。

【问题讨论】:

  • 当你说它默认找不到 Classes 文件夹时。您是否验证过它所链接的路径是否正确?可能是COCOS2DX路径变量设置不正确。
  • 我也遇到了同样的错误。你用 cocs2d-x 3.0 beta 解决了这个问题

标签: cocos2d-x


【解决方案1】:

在运动中你应该使用 COCOCS 2d-x2.2 在 cocos2d-x 中创建项目。这很容易也很好。试试看。

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

【讨论】:

  • 听起来很刺耳,但我认为这是让 Eclipse 屈服的唯一方法
【解决方案2】:

确保两件事:

  1. 在你自己的项目目录下导入libcocos2dx,这里有文档http://www.cocos2d-x.org/wiki/How_to_Build_an_Android_Project_with_Eclipse;

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

    李>

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      相关资源
      最近更新 更多