Unsolved QT android static linking issue
-
I have compiled Qt source for android, I mentioned all the static libraries in .pro file, but while executing androiddeployqt, its searching for libqtforandroid.so, its getting failed here.
below is the content of .pro file:QT += quick CONFIG -= import_plugins CONFIG += static-runtime DEFINES += STATIC static { QTPLUGIN.platforms = qminimal DEPENDPATH += /usr/local/Qt-5.12.3/lib DEPENDPATH += /usr/local/Qt-5.12.3/plugins/platforms/android LIBS += /usr/local/Qt-5.12.3/plugins/platforms/android/libqtforandroid.a CONFIG += c++11 QTPLUGIN += qgif qicns qjpeg qtga qtiff qwbmp qwebp qtforandroid \ qmldbg_debugger \ qmldbg_inspector \ qmldbg_local \ qmldbg_messages \ qmldbg_native \ qmldbg_nativedebugger \ qmldbg_preview \ qmldbg_profiler \ qmldbg_quickprofiler } message( $$CONFIG) # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Refer to the documentation for the # deprecated API to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp RESOURCES += qml.qrc # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH = # Additional import path used to resolve QML modules just for Qt Quick Designer QML_DESIGNER_IMPORT_PATH = # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
Error we are getting:
11:12:19: Running steps for project testapp2... 11:12:19: Starting: "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" clean -j4 /usr/local/Qt-5.12.3/bin/qmake -o Makefile ../testapp2/testapp2.pro -spec android-clang CONFIG+=qtquickcompiler Project MESSAGE: lex yacc debug exceptions depend_includepath testcase_targets import_qpa_plugin file_copies qmake_use qt warn_on release link_prl android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings clang_pch_style android-16 optimize_size cross_compile release static android linux unix posix gcc clang llvm qtquickcompiler static-runtime c++11 rm -f main_qml.cpp rm -f qmlcache_loader.cpp rm -f moc_predefs.h rm -f main.o main_qml.o qmlcache_loader.o rm -f *~ core *.core 11:12:19: The process "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" exited normally. 11:12:19: Starting: "/usr/local/Qt-5.12.3/bin/qmake" /home/dev/testapp2/testapp2.pro -spec android-clang CONFIG+=qtquickcompiler Project MESSAGE: lex yacc debug exceptions depend_includepath testcase_targets import_qpa_plugin file_copies qmake_use qt warn_on release link_prl android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings clang_pch_style android-16 optimize_size cross_compile release static android linux unix posix gcc clang llvm qtquickcompiler static-runtime c++11 11:12:20: The process "/usr/local/Qt-5.12.3/bin/qmake" exited normally. 11:12:20: Starting: "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" -f /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/Makefile qmake_all make: Nothing to be done for `qmake_all'. 11:12:20: The process "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" exited normally. 11:12:20: Starting: "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" -j4 /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot/usr/include/arm-linux-androideabi -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/cxx-stl/llvm-libc++/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/android/support/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/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 -ffunction-sections -fdata-sections -D_REENTRANT -fPIC -DSTATIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../testapp2 -I. -I/usr/local/Qt-5.12.3/include -I/usr/local/Qt-5.12.3/include/QtQuick -I/usr/local/Qt-5.12.3/include/QtGui -I/usr/local/Qt-5.12.3/include/QtQml -I/usr/local/Qt-5.12.3/include/QtNetwork -I/usr/local/Qt-5.12.3/include/QtCore -I. -I/usr/local/Qt-5.12.3/mkspecs/android-clang -o main.o ../testapp2/main.cpp /usr/local/Qt-5.12.3/bin/qmlcachegen --resource=/home/dev/testapp2/qml.qrc -o main_qml.cpp ../testapp2/main.qml /usr/local/Qt-5.12.3/bin/qmlcachegen --resource-file-mapping=/home/dev/testapp2/qml.qrc -o qmlcache_loader.cpp ../testapp2/qml.qrc /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot/usr/include/arm-linux-androideabi -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/cxx-stl/llvm-libc++/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/android/support/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/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 -ffunction-sections -fdata-sections -D_REENTRANT -fPIC -DSTATIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../testapp2 -I. -I/usr/local/Qt-5.12.3/include -I/usr/local/Qt-5.12.3/include/QtQuick -I/usr/local/Qt-5.12.3/include/QtGui -I/usr/local/Qt-5.12.3/include/QtQml -I/usr/local/Qt-5.12.3/include/QtNetwork -I/usr/local/Qt-5.12.3/include/QtCore -I. -I/usr/local/Qt-5.12.3/mkspecs/android-clang -o main_qml.o main_qml.cpp /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-limit-debug-info -DANDROID_HAS_WSTRING --sysroot=/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sysroot/usr/include/arm-linux-androideabi -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/cxx-stl/llvm-libc++/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/android/support/include -isystem /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/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 -ffunction-sections -fdata-sections -D_REENTRANT -fPIC -DSTATIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../testapp2 -I. -I/usr/local/Qt-5.12.3/include -I/usr/local/Qt-5.12.3/include/QtQuick -I/usr/local/Qt-5.12.3/include/QtGui -I/usr/local/Qt-5.12.3/include/QtQml -I/usr/local/Qt-5.12.3/include/QtNetwork -I/usr/local/Qt-5.12.3/include/QtCore -I. -I/usr/local/Qt-5.12.3/mkspecs/android-clang -o qmlcache_loader.o qmlcache_loader.cpp /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -D__ANDROID_API__=16 -target armv7-none-linux-androideabi -gcc-toolchain /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -Wl,--exclude-libs,libunwind.a --sysroot=/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/platforms/android-16/arch-arm/ -Wl,-soname,libtestapp2.so -Wl,--gc-sections -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libtestapp2.so main.o main_qml.o qmlcache_loader.o /usr/local/Qt-5.12.3/plugins/platforms/android/libqtforandroid.a -ljnigraphics -landroid -L/usr/local/Qt-5.12.3/lib -lQt5EventDispatcherSupport -L/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -lQt5AccessibilitySupport -lQt5FontDatabaseSupport /usr/local/Qt-5.12.3/lib/libqtfreetype.a -lQt5EglSupport /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/platforms/android-16/arch-arm/usr/lib/libEGL.so -lQt5VulkanSupport -L/usr/local/Qt-5.12.3/plugins/imageformats -lqgif -lqicns -lqjpeg -lqtga -lqtiff -lqwbmp -lqwebp -L/usr/local/Qt-5.12.3/plugins/qmltooling -lqmldbg_debugger -lqmldbg_inspector -lqmldbg_local -lqmldbg_messages -lqmldbg_native -lqmldbg_nativedebugger -lqmldbg_preview -lqmldbg_profiler -lqmldbg_quickprofiler -lQt5PacketProtocol -lQt5Quick -lQt5Gui /usr/local/Qt-5.12.3/lib/libqtlibpng.a /usr/local/Qt-5.12.3/lib/libqtharfbuzz.a -lQt5Qml -lQt5Network -lQt5Core /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/platforms/android-16/arch-arm/usr/lib/libz.so /usr/local/Qt-5.12.3/lib/libqtpcre2.a -lc++ -llog -lz -lm -ldl -lc /home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/platforms/android-16/arch-arm/usr/lib/libGLESv2.so -L/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a -lc++ -llog -lz -lm -ldl -lc 11:12:23: The process "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" exited normally. 11:12:23: Removing directory /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build/assets 11:12:23: Removing directory /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build/libs 11:12:23: Starting: "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" INSTALL_ROOT=/home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build install /usr/local/Qt-5.12.3/bin/qmake -install qinstall -exe libtestapp2.so /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build/libs/armeabi-v7a/libtestapp2.so 11:12:23: The process "/home/dev/Documents/android-ndk-r20b-linux-x86_64/android-ndk-r20b/prebuilt/linux-x86_64/bin/make" exited normally. 11:12:23: Starting: "/usr/local/Qt-5.12.3/bin/androiddeployqt" --input /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-libtestapp2.so-deployment-settings.json --output /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build --android-platform android-29 --jdk /usr/lib/jvm/jdk-8u191-linux-x64/jdk1.8.0_191 --gradle Generating Android Package Input file: /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-libtestapp2.so-deployment-settings.json Output directory: /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/android-build/ Application binary: /home/dev/build-testapp2-Android_for_armeabi_v7a_Clang_Qt_Android_Qt_5_12_3-Release/libtestapp2.so Android build platform: android-29 Install to device: No Error reading file: /usr/local/Qt-5.12.3/plugins/platforms/android/libqtforandroid.so: No such file or directory . No platform plugin, neither libqtforandroid.so or libqtforandroidGL.so, included in package. Please include one. 11:12:23: The process "/usr/local/Qt-5.12.3/bin/androiddeployqt" exited with code 12. Error while building/deploying project testapp2 (kit: Android for armeabi-v7a (Clang Qt Android (Qt-5.12.3))) When executing step "Build Android APK" 11:12:23: Elapsed time: 00:04.
-
As far as I know, static linking is not supported on Qt for Android.