Cocos2D-X适用于Android,符号“cocos2d”无法解析。

7
我从这里开始学习如何在Android上使用Cocos2D-X。我在xcode和安卓中运行示例没有问题,直到进行“在Eclipse中定义Java/C++组合项目”这部分时。
在按照步骤完成后,我在jni/hellocpp/main.cpp文件的using namespace cocos2d;处出现了错误Symbol 'cocos2d' could not be resolved,还有许多类似的错误。 我发现该文件中缺少#include "cocos2d.h"这一行,所以我添加了它,但错误仍然存在。
我不知道为什么会出现这种情况,但我认为可能是某些库没有被导入。
在我的android项目中,有一个includes目录包括NDK和$(COCOS2DX_HOME)/cocos2dx/include,但是在$(COCOS2DX_HOME)/cocos2dx/include中只有7个.h文件(包括cocos2d.h)。我不知道这是否正确。
请问有谁能帮助我,谢谢。
2个回答

12

我根据一篇中文文章解决了这个问题 (http://www.cnblogs.com/young40/archive/2012/10/19/cocos2d-x-mac-os-x-android-xcode-ios-development-setup.html)。

下面是http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started的要点区别:

  1. 右键单击项目,选择属性\C/C++通用\路径和符号\源位置。 点击链接文件夹,勾选"在文件系统中链接到一个文件夹"复选框,并浏览到$COCOS2DX_HOME文件夹内的cocos2dx目录。(与添加Classes相同)

  2. 右键单击项目,选择属性\C/C++通用\路径和符号\GNU C++。添加$(COCOS2DX_HOME)/CocosDenshion/include

一开始我怀疑没有包含类。实际上,在我将$COCOS2DX_HOME/cocos2dx链接到项目后,所有错误都消失了。


1
我的属性中没有"C/C++ General"项,不知道为什么? :) 我在Eclipse中导入了构建好的游戏,但出现了两个错误:"Cocos2dxActivity无法解析为一种类型" 和 "import org.cocos2dx.lib无法解析"。 - JavaRunner
@JavaRunner,你是否已经在cocos2dx/platform/android/java中导入了相关项目? - pktangyue
@JavaRunner,为什么你没有“C/C++ General”选项呢?你是否已经安装了CDT插件? - pktangyue
谢谢!我刚刚导入了cocos2dx/platform/android/java,现在它能正常工作了! :) - JavaRunner
我在Windows 7机器上尝试了你提供的所有建议,但仍然遇到相同的错误。我不太理解列表中第一条的意思。当我浏览到cocos2dx时,出现了一个错误:“文件夹'cocos2dx'已经存在。因此,它可能不正确。有没有进一步的提示可以让cocos2d-2.0-rc2-x-2.0.1在Windows 7上运行? - burseaner

3
请检查您的项目属性中是否包含Cocos2d-x头文件夹的路径? 如果没有,请右键单击您的项目->属性->C/C++常规->路径和符号->包括选项卡->Assembly->添加->PATH_TO_YOUR_COCOS2DX/cocos2dx/include 还要在GNU C++选项卡中添加该路径。 其中,您必须将PATH_TO_YOUR_COCOS2DX替换为实际下载cocos2dx的绝对路径。

@pktangyue:请检查proj.android下的build_native.sh文件...更改其中NDK和Cocos2d-x源代码的路径。 - user1169079

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接