我是用v3.16创建的lua工程,用的小米手机测试,PROP_APP_ABI=armeabi-v7a,我尝试自己在mac上用cocos2d-x-3rd-party-libs-src最新代码编译luajit的库,但是在android真机上有很大几率会崩溃,我不使用我自己编译的用3.17版本里面的也会崩溃,请问这是什么问题,我如何编译3.16里面luajit,
找到问题了,NDK_TOOLCHAIN_VERSION本来是4.9我改成clang就不行了,这是为什么呢
第三方的预编译库都是 gcc 编译生成的,配置强行切 clang,有冲突的。
切 clang 要把所有的第三方库替换,3.17 做了这个工作,最近会有 3.17.1 出来。
又出现在问题了,使用3.17Luajit,NDK_TOOLCHAIN_VERSION=4.9, debug没有问题,release还是会崩溃,请问怎样才能编译3.16版本里面的Luajit,我就是想改点luajit的代码。。还有3.17.1大概还有久能出来
不是啊,你这还是不对应。
3.16 就应该用 gcc,带的预编译库是 gcc 的,是NDK_TOOLCHAIN_VERSION=4.9
3.17 就应该用 clang,带的预编译库是 clang 编译的,是NDK_TOOLCHAIN_VERSION=clang
这个需求,看:
https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src
用 v3 分支,reset 到 commit ID b9f3edf097ba6e1945eefbe0ef75d49711ff4cb6
不要用最新代码,最新是匹配最新的 2d-x。因为你是 3.16,看提交 log,要切到使用 clang 编译之前,就是上面贴的那个 commit
我用ndk-r16b编译你说的版本的luajit,会报错
,用ndk-r10c可以编译通过,但是编译出来的会比3.16里面的小,现在不像以前那样进去就崩溃,但是进游戏随便点点,还是有非常小的机率会崩溃,是不是我哪的编译选项设置的不对,能不能加个qq给指导一下,非常感谢,qq619403339我又发现了一个崩溃原因,invalid ‘self’ in function 这种类型的报错在android上会直接崩溃,原3.16版的luajit也会崩溃,ios上不会
@619403339@leda 我是自己用ndk-build的 现象是debug非常稳定release崩溃也是随机的
我做的处理就是编译64位的字节码,对应的64位就没出现崩溃了,还发现一台 armabi-v7的机型会崩溃,就先没理它了,如果还出现崩溃没解决方案就换lua了。
cocos2dx 3.16

