Unsolved Qt 5.15.2 Clang Multi-Abi issue - no ARM64 build
-
I have installed Qt 5.15.2 with QtCreator 5.0.2 and now try remake my Android apps for API 30. SDK for API 30 and build tools are installed as well.
When I try rebuild project for Android Qt 5.15.2 Clang Multi-Abi/Build in QtCreator it makes only objects and shared objects for armeabi_v7a. It does not create them for arm64-v8a. There no files Makefile.DebugArm64-v8a and Makefile.ReleaseArm64-v8a - I see only Makefiles.<>Armeabi_v7a. I see make path goes with arm64-v8a value in ANDROID_TARGET_ARCH variable but it does not create folders for .o files. It makes folders and objects only for armeabi_v7a. But it tries later link to .so files for arm64-v8a then fails.
In Build Settings/Additional libraries I see only libraries with armeabi_v7a suffix. This list is created dynamically from ANDROID_EXTRA_LIBS variable defined in qmake project file. In this file it is created cyclically from shared objects list like this:
for( PLUGNAME, PLUGINS ) { ANDROID_EXTRA_LIBS += $$PWD/../../build-Premier-$${ARCHIPATH}-$${BUILDTYPE}/$${PLUGNAME}/lib$${PLUGNAME}_$${ANDROID_TARGET_ARCH}.so LIBS = $${ANDROID_EXTRA_LIBS} message($${PLUGNAME}" "$${ANDROID_TARGET_ARCH}) }
I see how make goes for all my plugins and they appear twice - with armeabi_v7a and with arm64-v8a.
Project MESSAGE: AudioIn armeabi-v7a Project MESSAGE: AudioPlayer armeabi-v7a Project MESSAGE: SVGplugin armeabi-v7a Project MESSAGE: PlayControl armeabi-v7a Project MESSAGE: FFT armeabi-v7a Project MESSAGE: TextLabel armeabi-v7a Project MESSAGE: SerialCounter armeabi-v7a Project MESSAGE: PushButton armeabi-v7a Project MESSAGE: DialKnob armeabi-v7a Project MESSAGE: VisualizerLabel armeabi-v7a Project MESSAGE: AudioIn arm64-v8a Project MESSAGE: AudioPlayer arm64-v8a Project MESSAGE: SVGplugin arm64-v8a Project MESSAGE: PlayControl arm64-v8a Project MESSAGE: FFT arm64-v8a Project MESSAGE: TextLabel arm64-v8a Project MESSAGE: SerialCounter arm64-v8a Project MESSAGE: PushButton arm64-v8a Project MESSAGE: DialKnob arm64-v8a Project MESSAGE: VisualizerLabel arm64-v8a
But it creates only armeabi_v7a.
What should I do to force it create v8a target files together with v7a versions? Where are these settings described?
-
The thread is a bit older but I had exactly the same problem right now...
Te trick is to check the desired ABIs in the Build Settings. Just open the details for the qmake call and hit the checkboxes for the available ABIs. It's a bit hidden, so maybe this will help somebody in the future. Cheers! -
This post is deleted! -
@Frime finally i found it,thanks buddy
-
@Frime Thank you! In my opinion hidden is not enough! Thank you for sharing this!