cocos2dx3.2升级Android5的坑
发布时间:2020-12-14 16:52:32 所属栏目:百科 来源:网络整理
导读:公司的游戏用的是cocos2dx 3.2的版本 然而在Android 5 上却无法运行,出现黑屏。 先是没有触摸事件。 在stackoverflow上看到,原因是没有加载编译生成的so文件。可是看了一下AndroidManifest.xml已经加载了。 于是对比了一下高版本的2dx,发现Application.mk
公司的游戏用的是cocos2dx 3.2的版本然而在Android 5 上却无法运行,出现黑屏。 先是没有触摸事件。 在stackoverflow上看到,原因是没有加载编译生成的so文件。可是看了一下AndroidManifest.xml已经加载了。 于是对比了一下高版本的2dx,发现Application.mk文件上的APP_STL使用的是gnustl_static 另外ndk版本修改为4.9还得修改build_native.py的select_toolchain_version函数 def select_toolchain_version(): '''Because ndk-r8e uses gcc4.6 as default. gcc4.6 doesn't support c++11. So we should select gcc4.7 when using ndk-r8e. But gcc4.7 is removed in ndk-r9,so we should determine whether gcc4.7 exist. Conclution: ndk-r8e -> use gcc4.7 ndk-r9 -> use gcc4.8 ''' ndk_root = check_environment_variables() if os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.9")): os.environ['NDK_TOOLCHAIN_VERSION'] = 4.9' print The Selected NDK toolchain version was 4.9 !" elif os.path.isdir(os.path.join(ndk_root,0); line-height:1.5!important">toolchains/arm-linux-androideabi-4.84.8The Selected NDK toolchain version was 4.8 !toolchains/arm-linux-androideabi-4.74.7The Selected NDK toolchain version was 4.7 !else: Couldn't find the gcc toolchain." exit(1) 之后一切好使,过了一段时候后,发现ios正常,而Android却莫名其妙崩溃。经过不断的排查,发现居然是stl的排序函数引起的,compare函数的值必须返回大于,不能是大于等于。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |