接入开源VideoTexture视频流方案,编译报错

  • Creator 版本:cocoscreator3.6.2版本,

  • 目标平台: Android

  • 重现方式:下载开源项目后,构建,替换native.zip,点击生成,报错

  • 开源项目:
    VideoTexture

  • 错误日志:

[665/665] Linking CXX shared library libcocos.so
FAILED: libcocos.so
cmd.exe /C “cd . && D:\AndroidSDK\ndk\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi21 --gcc-toolchain=D:/AndroidSDK/ndk/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/AndroidSDK/ndk/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -mfpu=neon-fp16 -fsigned-char -ffunction-sections -fdata-sections -fstrict-aliasing -frtti -fexceptions -Oz -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -Wl,–exclude-libs,libgcc.a -Wl,–exclude-libs,libgcc_real.a -Wl,–exclude-libs,libatomic.a -static-libstdc++ -Wl,–build-id=sha1 -Wl,–no-rosegment -Wl,–fatal-warnings -Wl,–exclude-libs,libunwind.a -Wl,–no-undefined -Qunused-arguments -u GameActivity_onCreate -Wl,–gc-sections -shared -Wl,-soname,libcocos.so -o libcocos.so @CMakeFiles/cocos.rsp && cd .”
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_imdct_synth.cpp:0:(.text.pvmp3_imdct_synth+0xBE): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_mdct_18 interworking not performed; consider using directive ‘.type pvmp3_mdct_18, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:146:(.text.pvmp3_poly_phase_synthesis+0x48): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_split interworking not performed; consider using directive ‘.type pvmp3_split, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:151:(.text.pvmp3_poly_phase_synthesis+0x5E): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_merge_in_place_N32 interworking not performed; consider using directive ‘.type pvmp3_merge_in_place_N32, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:153:(.text.pvmp3_poly_phase_synthesis+0x68): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_polyphase_filter_window interworking not performed; consider using directive ‘.type pvmp3_polyphase_filter_window, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:163:(.text.pvmp3_poly_phase_synthesis+0x72): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_split interworking not performed; consider using directive ‘.type pvmp3_split, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:168:(.text.pvmp3_poly_phase_synthesis+0x88): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_merge_in_place_N32 interworking not performed; consider using directive ‘.type pvmp3_merge_in_place_N32, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
ld: error: D:/CocosDashboard_1.0.7/resources/.editors/Creator/3.6.2/resources/resources/3d/engine/native/external/sources/pvmp3dec/src\pvmp3_poly_phase_synthesis.cpp:170:(.text.pvmp3_poly_phase_synthesis+0x94): branch and link relocation: R_ARM_THM_CALL to non STT_FUNC symbol: pvmp3_polyphase_filter_window interworking not performed; consider using directive ‘.type pvmp3_polyphase_filter_window, %function’ to give symbol type STT_FUNC if interworking between ARM and Thumb is required
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

刚使用 3.6.2 测试正常,资源替换完全了吗?

测得时候资源都替换了,这个是项目的demo
https://gitee.com/jayjayo/video-texture/tree/master

访问受限,

可以了,麻烦再试下,刚权限可能没更新成功

我们用的ndk版本: 22.0.6917172

没有看到这个版本的,用ndk 20.1.5948944, 22.0.7026061 测试都正常运行,没有改动其他东西。

非常感谢,我们这边换了台机器编译看正常了,只是目前和源视频相比,帧数掉的有点多