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

 

  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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值