当前位置: 首页 > 知识库问答 >
问题:

为Android编译QtAV库

戎洛华
2023-03-14

对于一个多星期现在我试图建立QtAV 1.12.0 Android从Windows 10机器,以下说明:

https://github.com/wang-bin/QtAV/wiki/Build-QtAV

我正在用

  • 来自git的QtAV 1.12.0

除了OpenSSL部分外,Android设备设置还可以。我想这是不相关的,对吧?(无论如何,我都可以将我的应用程序部署到我的android手机上。)

我使用Qt Creator 4.12.3来构建,我面临错误。构建过程在108个警告和2个错误时中止:

错误:找不到-lass clang. exe:-1: Fehler:错误:链接器命令失败,退出代码1(使用-v查看调用)

但是在/config中。记录早期错误发生的方式,我认为这可能会导致上述结果:

> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -Wl,--exclude-libs,libunwind.a --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/platforms/android-16/arch-arm/ -Wl,--enable-new-dtags -Wl,--no-undefined -Wl,-z,noexecstack -shared -Wl,-soname,libavresample.so -o libavresample.so main.obj  -lavresample -LC:/Qt/Qt5.12.4/5.12.4/android_armv7/lib  -LC:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16 -llog -lz -lm -ldl -lc 
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: error: cannot find -lavresample
> clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
> mingw32-make: *** [Makefile:71: libavresample.so] Error 1
test avresample FAILED
executing config test avfilter
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\avfilter && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/avfilter
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\avfilter && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -mthumb -Oz -std=gnu++11 -Wall -W -fPIC -D__STDC_CONSTANT_MACROS -IC:\QtAV\config.tests\avfilter -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\avfilter\main.cpp
> del libavfilter.so
> C:\build-QtAV-USERDEF_Android\config.tests\avfilter\libavfilter.so konnte nicht gefunden werden
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -Wl,--exclude-libs,libunwind.a --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/platforms/android-16/arch-arm/ -Wl,--enable-new-dtags -Wl,--no-undefined -Wl,-z,noexecstack -shared -Wl,-soname,libavfilter.so -o libavfilter.so main.obj  -lavfilter -LC:/Qt/Qt5.12.4/5.12.4/android_armv7/lib  -LC:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16 -llog -lz -lm -ldl -lc 
test avfilter succeeded
executing config test avdevice
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\avdevice && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/avdevice
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\avdevice && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -mthumb -Oz -std=gnu++11 -Wall -W -fPIC -D__STDC_CONSTANT_MACROS -IC:\QtAV\config.tests\avdevice -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\avdevice\main.cpp
> del libavdevice.so
> C:\build-QtAV-USERDEF_Android\config.tests\avdevice\libavdevice.so konnte nicht gefunden werden
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -Wl,--exclude-libs,libunwind.a --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/platforms/android-16/arch-arm/ -Wl,--enable-new-dtags -Wl,--no-undefined -Wl,-z,noexecstack -shared -Wl,-soname,libavdevice.so -o libavdevice.so main.obj  -lavdevice -LC:/Qt/Qt5.12.4/5.12.4/android_armv7/lib  -LC:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++.so.16 -llog -lz -lm -ldl -lc 
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: error: cannot find -lavdevice
> clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
> mingw32-make: *** [Makefile:71: libavdevice.so] Error 1
test avdevice FAILED
executing config test sse4_1
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\sse4_1 && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/sse4_1
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\sse4_1 && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -msse4.1 -g -g -marm -O0 -std=gnu++11 -Wall -W -fPIC  -IC:\QtAV\config.tests\sse4_1 -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o sse4_1.obj C:\QtAV\config.tests\sse4_1\sse4_1.cpp
> clang++.exe: warning: argument unused during compilation: '-msse4.1' [-Wunused-command-line-argument]
> In file included from C:\QtAV\config.tests\sse4_1\sse4_1.cpp:42:
> In file included from C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\smmintrin.h:27:
> In file included from C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\tmmintrin.h:27:
> In file included from C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\pmmintrin.h:27:
> In file included from C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\emmintrin.h:27:
> In file included from C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\xmmintrin.h:27:
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:47:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
>     __builtin_ia32_emms();
>     ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:47:5: note: '__builtin_isless' declared here
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:47:25: error: too few arguments to function call, expected 2, have 0
>     __builtin_ia32_emms();
>                         ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:64:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
>     return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:81:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
>     return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
>            ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:143:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
>     return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:173:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
>     return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:203:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
>     return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:230:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
>     return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:253:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
>     return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:274:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
>     return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:301:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
>     return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:324:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
>     return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:345:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
>     return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:366:19: error: use of undeclared identifier '__builtin_ia32_paddb'
>     return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:387:19: error: use of undeclared identifier '__builtin_ia32_paddw'
>     return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:408:19: error: use of undeclared identifier '__builtin_ia32_paddd'
>     return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:430:19: error: use of undeclared identifier '__builtin_ia32_paddsb'
>     return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:453:19: error: use of undeclared identifier '__builtin_ia32_paddsw'
>     return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2);
>                   ^
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.2\include\mmintrin.h:475:19: error: use of undeclared identifier '__builtin_ia32_paddusb'
>     return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2);
>                   ^
> fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 20 errors generated.
> mingw32-make: *** [Makefile:438: sse4_1.obj] Error 1
test sse4_1 FAILED
executing config test openal
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\openal && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/openal
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\openal && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -O2 -O2 -mthumb  -IC:\QtAV\config.tests\openal -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\openal\main.cpp
> del libopenal.a
> C:\build-QtAV-USERDEF_Android\config.tests\openal\libopenal.a konnte nicht gefunden werden
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar cqs libopenal.a main.obj
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib libopenal.a
test openal succeeded
executing config test libass
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\libass && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/libass
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\libass && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -O2 -O2 -mthumb  -IC:\QtAV\config.tests\libass -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\libass\main.cpp
> del liblibass.a
> C:\build-QtAV-USERDEF_Android\config.tests\libass\liblibass.a konnte nicht gefunden werden
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar cqs liblibass.a main.obj
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib liblibass.a
test libass succeeded
executing config test uchardet
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\uchardet && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/uchardet
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\uchardet && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -mthumb -Oz -std=gnu++11 -Wall -W -fPIC  -IC:\QtAV\config.tests\uchardet -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\uchardet\main.cpp
> C:\QtAV\config.tests\uchardet\main.cpp:21:10: fatal error: 'uchardet/uchardet.h' file not found
> #include 
>          ^~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
> mingw32-make: *** [Makefile:451: main.obj] Error 1
test uchardet FAILED
executing config test libcedarv
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\libcedarv && C:\Qt\Qt5.12.4\5.12.4\android_armv7\bin\qmake.exe  -spec C:/Qt/Qt5.12.4/5.12.4/android_armv7/mkspecs/android-clang "CONFIG -= qt debug_and_release app_bundle lib_bundle" C:/QtAV/config.tests/libcedarv
+ cd /d C:\build-QtAV-USERDEF_Android\config.tests\libcedarv && set MAKEFLAGS=& mingw32-make
> C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/android/support/include -isystem C:\Users\User\AppData\Local\Android\Sdk\ndk\19.2.5345600/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -mthumb -Oz -std=gnu++11 -Wall -W -fPIC  -IC:\QtAV\config.tests\libcedarv -I. -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\include -IC:\QtAV\contrib\dxsdk -IC:\Qt\Qt5.12.4\5.12.4\android_armv7\mkspecs\android-clang -o main.obj C:\QtAV\config.tests\libcedarv\main.cpp
> C:\QtAV\config.tests\libcedarv\main.cpp:21:10: fatal error: 'libcedarv/libcedarv.h' file not found
> #include 
>          ^~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
> mingw32-make: *** [Makefile:451: main.obj] Error 1
test libcedarv FAILED

我没有绑定到特定的SDK/NDK/Qt/QtAV版本。

我成功地为MSVC2017 x32和x64构建了QtAV,因此我认为它一定与ffmpeg相关或整个JDK/SDK/NDK设置有关。有人知道我哪里出了问题吗?

由于构建开始并运行了一段时间,我认为编译器/链接器找到了提供的依赖项,但可能是不完整的?

注意:AFAIK在视频中显示字幕需要libass的东西。我不需要这个功能(我想从相机流rstp直播流)。禁用模块作为一种解决方案,例如使用CONFIG-=开关,也是一个受欢迎的解决方案,值得一试。

我不确定的是Kit/sysroot行。这里有什么要求吗?默认情况下为空。

共有1个答案

易祯
2023-03-14

这并不是直接回答您的问题,但可能仍有助于您避免这一问题:

QtAV库已由其开发人员在新项目“MDK-SDK”(以下链接)下从头重写。

https://github.com/wang-bin/mdk-sdk

因为这些库非常复杂,需要构建许多依赖项,所以他为大多数平台提供了夜间构建的二进制文件。

https://sourceforge.net/projects/mdk-sdk/files/nightly/

注意:该许可证并非免费提供商业应用程序(但价格合理),而且该库运行良好,性能良好。

 类似资料:
  • QtAV是基于Qt和FFmpeg的音视频播放库。开发者能够很容易基于QtAV编写播放器。支持常见的功能如播放、截图、暂停、快进快退、音量控制、播放网络流媒体等。目前支持的渲染方式有QPainter、Direct2D、gdi+、OpenGL,以后会添加其他选择和硬件解码功能。 QtAV支持多个平台,已经支持windows的mingw和vc、linux、mac os x。vc编译方法见wiki。同时支

  • 下面是错误消息。 Gradle:Failure:生成失败,出现异常。 > 错误:任务“:FTPSample:CompileDebug”执行失败。 编译失败;有关详细信息,请参阅编译器错误输出。 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。

  • 消息分级构建: build.gradle文件:

  • 问题内容: 在编译C 时,您当然会为要编译的目标平台使用编译器。是否有针对JVM的C 编译器(因此,不是使用Java“本机”接口,而是将C ++代码编译为Java字节码)? 问题答案: NestedVM为Java字节码提供二进制转换。这是通过让GCC编译为MIPS二进制文件然后将其转换为Java类文件来完成的。因此,任何用C,C ++,Fortran或GCC支持的任何其他语言编写的应用程序都可以在

  • 在Android Studio的编译过程中,我得到了时间异常错误。我该怎么修好它?