Important: Please read the Qt Code of Conduct -

Building libraries(for QMYSQL driver) on new versions of NDK(r18b)

  • Hello.
    I'm new to Android development.
    I need to build QMYSQL dirver for Android. I found a detailed and working guide how to do it for Android NDK r10e. The problem is that I use Qt 5.12.3 that only works with recent versions of the Android NDK, for example r18b. In this and newer versions, the file structure has been greatly changed, and now I cannot find the headers, libraries and programs I need.

    Here are the variables that I need to declare to successfully build all the libraries (libiconv, OpenSSL, MariaDB):
    Code (Text):

    export ANDROID_NDK_ROOT=/c/android-ndk-r10e
    export SR="$ANDROID_NDK_ROOT"/platforms/android-19/arch-arm
    export BR="$ANDROID_NDK_ROOT"/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-
    export CPP="$BR"cpp
    export AR="$BR"ar
    export STRIP="$BR"strip
    export RANLIB="$BR"ranlib
    export LINKER="$BR"ld
    export OBJDUMP="$BR"objdump
    export CC="$BR"gcc
    export CFLAGS="--sysroot=$SR"
    export CPPFLAGS="$CFLAGS"
    export C_INCLUDE_PATH=$SR/include
    export ANDROID_DEV=$SR/usr
    export MAKEDEPPROG="$CC -M"

    About problem, for example, in the $BR folder there are no more necessary compiler programs, and there are no headers in the $SR folder.
    Note: $SR - "sysroot", $BR - common path to binaries in old Anroid NDK versions.

    Thanks for help.

    (russian guide that I used:

Log in to reply