Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-141160

[Reg 6.8.4->6.9.3/6.10.0] Libraries of wrong architecture are deployed

XMLWordPrintable

    • Android

      Consider a Qt Multimedia project (any demo/example will do). Add this to CMakeLists.txt then build:

      set_target_properties(<target> PROPERTIES QT_ANDROID_ABIS "arm64-v8a;armeabi-v7a")
      

      In build directory, there are going to be 2 subdirs under "android-build-<target>\libs", namely 2 ABIs. Now, the kit that I use to build is arm64-v8a, and everything is good there. But in armeabi-v7a dir, check, for example, "libavcodec.so":

      INTRA+luchen@AAD-PF4WPQPG MINGW64 /c/dev/AndroidAabTest/build/Android_Qt_6_9_3_Clang_arm64_v8a-Release/android-build-appAndroidAabTest/libs/armeabi-v7a
      $ file ./libavcodec.so
      ./libavcodec.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, for Android 24, built by NDK r27c (12479018), not stripped
      

      It is 64bit lib being deployed to v7a build. It is also packed into apk/aab later and causes crash (one can unzip apk/aab to confirm). libavcodec is just an example. Other libs like "libavformat", etc., are in wrong arch too.

      Libs are of correct arch if app is built by 6.8.4.

      Update: "libc++_shared.so" is of 32bit so it is correct. Maybe it is a Multimedia problem than a generic bug?

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            luqiaochen Luqiao Chen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes