BUG 安卓x86版本编译报错

  • Creator 版本: 3.3.2 3.4.0

  • 目标平台: 安卓模拟器

  • 重现方式:打包失败

  • 首个报错: ld: error: undefined hidden symbol: __stack_chk_fail_local

    referenced by uv-common.o:(uv__unknown_err_code) in archive D:/CocosDashboard_1.0.17/resources/.editors/Creator/3.4.0/resources/resources/3d/engine-native/external/cmake/…/android/x86/libuv.a
    referenced by uv-common.o:(uv_ip6_addr) in archive D:/CocosDashboard_1.0.17/resources/.editors/Creator/3.4.0/resources/resources/3d/engine-native/external/cmake/…/android/x86/libuv.a
    referenced by inet.o:(inet_ntop4) in archive D:/CocosDashboard_1.0.17/resources/.editors/Creator/3.4.0/resources/resources/3d/engine-native/external/cmake/…/android/x86/libuv.a
    referenced 26 more times

有没有cocos的技术看见这个问题啊?

求解决 很着急

高版本ndk的libc会有符号差异,可以用以下方法解决。

  1. 降ndk版本到18,可以成功编译并运行
  2. 改x86为arm64架构的模拟器
  3. 手动添加__stack_chk_fail_local的定义(较hack,不推荐)。

此外如果想要使用安卓studio本身自带的模拟器,还需要注意很多地方,比如图形后端只能选择gles2。所以建议还是用真机测试

1赞

好的我试下,辛苦辛苦

不要用自带的模拟器运行了一堆问题

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。