• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Cocos2dx 环境编译出错:jni/Android.mk: Cannot find module with tag 'scripting/lu ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  Cocos2d在eclipse下编译生成apk安装文件时提示:

  jni/Android.mk: Cannot find module with tag 'scripting/lua-bindings' in import path.

  解决方法:

 在eclipse中,右键:项目工程-->Properties-->C/C++--->Environment目录下设置NDK_MODULE_PATH字段。对应字段的value值设定成你cocos2d源码的如下目录:
  $(call import-add-path, D:\cocos2dx-3.10)\
     $(call import-add-path, D:\cocos2dx-3.10\cocos)\
     $(call import-add-path,D:\cocos2dx-3.10\external\)\

    输入样式如下:


-----------------------------------2018-03-10补充-------------------------

1,编译版本时提示如下错误:LOCAL_SRC_FILES points to a missing file.

解决方法:
NDK版本由android-ndk-r9d 改成:android-ndk-r10c即可。

2,JNI调用时报如下错误:JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0xac20c338.

解决方法:

切入点,invalid jobject。

JNI的调用一般涉及JNIEnv *, jclass,jobject一类命名方式的变量,感兴趣的网上可以单查一下,这里就不做解释了,jobject代表传入的非法参数,自己这边的问题是lua层通过JNI回调lua时,传入了一个nil数值,导致JNI报错,应用直接闪退报错。

3,编译时提示:error: expected ';' at end of member declaration。

解决方法:

援引:点击打开链接,感谢原作者的辛勤劳作。

在Android编译环境的时候,出现一大堆的编译出错,类似“error: expected ';' at end of member declaration”之类的,看了一些编译错误,都是cocos2d-x库里面的代码出错。
经过分析,怀疑可能是编译环境的问题,因为cocos2d-x使用了很多C++11的新特性,这有可能导致老的编译器出错,看了一下NDK下面的文件以及toolchains里面的内容,windows编译器默认使用4.6,我尝试把4.6改成4.8再次编译不报错了,成功了,把修改的地方分享给大家一下。
在项目->属性下面,修改成下图的样子即可。
即把builder setting改成ndk-build NDK_TOOLCHAIN_VERSION=4.8



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Lua]50行代码的解释器,用来演示lambdacalculus发布时间:2022-07-22
下一篇:
使用IDA静态分析解密《舰娘Collection》的lua脚本发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap