未定义的引用:cellAtIndex(int)?隐式转换?

时间:2016-06-06 12:09:09

标签: android c++ cocos2d-x

似乎不是通常的问题"未定义的引用:....."。 我认为这可能与隐式转换有关。 我把下面的代码放在HelloWorldScene.h

ssize_t cellNumb;
cocos2d::extension::TableView* itemSlots;

每次我尝试使用

itemSlots->cellAtIndex(cellNumb);

在cpp中,只在编译apk文件时发生错误。不在VS中的调试模式。

compile error

我认为使用该代码调试项目很顺利是非常奇怪的。只有在制作apk文件时才会出现该错误。这是非常罕见的情况,不是吗?为什么ssize_t变量突然变为int?很明显,方法cellAtIndex需要ssize_t。这就是为什么我将cellNumb声明为ssize_t!

我也试过这样:

itemSlots->cellAtIndex((ssize_t) cellNumb);

还有这个:

itemSlots->cellAtIndex(static_cast <ssize_t> cellNumb);

我还将ssize_t更改为size_t,long int,unsigned int等,但每次试验都失败了。我搜索了几百次但是我找不到与我的情况相符的正确答案。

我检查并添加了Anroid.mk和SDK JDK NDK ANT中的所有cpp文件..它们安装良好,VS 2015中的调试也很清楚。

2 个答案:

答案 0 :(得分:0)

可能是你升级了你的cocos2d-x库,但你仍然有一些旧的Android相关文件(可能是makefile)。

答案 1 :(得分:0)

包含头文件

包括&#34; cocos-ext.h&#34;