Qt World Summit: Submit your Presentation

How to reference an external library in a multi-abi build

  • In docs I've found usage of '$${abi}' expression in file path which should supposedly be replaced by the name of the current ABI for which binaries are requested. It doesn't seem to work for me.


    Here I've replaced occurrences of 'armeabi-v7a' with it and the build process complains in the following way:
    ":-1: error: No rule to make target 'E:*\jniLibs\libbotan-2.a', needed by 'lib*_armeabi-v7a.so'. Stop."


  • All I can say is "same here" and post my own qmake code.

    I came across this recently, and I even wrote a comment in my build script that echoes what you are saying. My comment: "Docs suggest a one-liner this. I could not make the one-liner generate the desired outcome! https://doc.qt.io/qt-5/qmake-variable-reference.html#android-extra-libs"

    The build file in question: https://github.com/pestophagous/heory/blob/e3d88d9d0d/src/lib_app/fluidsynth_linkonly.pri

    Once I got my build to succeed, I became complacent with my workaround and did not investigate why $$abi was ineffective.

    You are welcome to borrow from my workaround, but perhaps also someone else will visit this thread and help us all learn what the root issue is!

    More of my details:
    Ubuntu 18.04.5 LTS
    Open Source Qt 5.15.0 (gcc_64)
    Android NDK r21 (android-clang)

Log in to reply