未定义引用:cellAtIndex(int)?隐式转换?
Undefined reference to : cellAtIndex(int) ? implicit conversion?
看来这不是平常的事"undefined reference to :....."。
我认为这可能与隐式转换有关。
我把下面的代码放在 HelloWorldScene.h
ssize_t cellNumb;
cocos2d::extension::TableView* itemSlots;
每次我尝试使用
itemSlots->cellAtIndex(cellNumb);
在cpp中,刚刚编译apk文件时出现错误。在 VS 中不处于调试模式。
我认为使用该代码调试项目非常好,这很奇怪。该错误仅在制作 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 中的所有 cpp 文件和 SDK JDK NDK ANT.. 它们安装良好,在 VS 2015 中调试也很清楚。
可能是您升级了 cocos2d-x 库,但仍然有一些旧的 Android 相关文件(可能是 makefile)。
包含头文件
包括“cocos-ext.h”
看来这不是平常的事"undefined reference to :....."。 我认为这可能与隐式转换有关。 我把下面的代码放在 HelloWorldScene.h
ssize_t cellNumb;
cocos2d::extension::TableView* itemSlots;
每次我尝试使用
itemSlots->cellAtIndex(cellNumb);
在cpp中,刚刚编译apk文件时出现错误。在 VS 中不处于调试模式。
我认为使用该代码调试项目非常好,这很奇怪。该错误仅在制作 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 中的所有 cpp 文件和 SDK JDK NDK ANT.. 它们安装良好,在 VS 2015 中调试也很清楚。
可能是您升级了 cocos2d-x 库,但仍然有一些旧的 Android 相关文件(可能是 makefile)。
包含头文件