error: cannot find -lc++ qt 5.12 android



  • Hi,
    I am trying to run a hello world qt application on android and am getting the error:

    C:\Android\sdk\ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -D__ANDROID_API__=21 -target aarch64-none-linux-android -gcc-toolchain C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot=C:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64/ -Wl,-soname,libandroid-e.so -Wl,-rpath=C:/Qt/5.12.3/android_arm64_v8a/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libandroid-e.so main.obj qrc_qml.obj -LC:/Qt/5.12.3/android_arm64_v8a/lib -lQt5Quick -LC:\Qt\5.12.3\android_arm64_v8a/lib -Lc:\Utils\Android\android-ndk-r18b/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -LC:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a C:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21 -llog -lz -lm -ldl -lc
    C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot find -lc++
    clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [libandroid-e.so] Error 1
    03:24:10: The process "C:\Android\sdk\ndk-bundle\prebuilt\windows-x86_64\bin\make.exe" exited with code 2.
    Error while building/deploying project android-e (kit: Android for arm64-v8a (Clang Qt 5.12.3 for Android ARM64-v8a))
    When executing step "Make"

    It is working perfectly fine when i compile it for desktop but when i try to run on android kit it breaks with the above error.
    I have installed the following:
    Android settings are OK. (SDK Version: 26.1.1, NDK Version: 20.0.5594570)



  • More infor on the error:

    E:\qt-projects\build-android-e-Android_for_arm64_v8a_Clang_Qt_5_12_3_for_Android_ARM64_v8a-Debug>C:\Android\sdk\ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++ -D__ANDROID_API__=21 -target aarch64-none-linux-android -gcc-toolchain C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot=C:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64/ -Wl,-soname,libandroid-e.so -Wl,-rpath=C:/Qt/5.12.3/android_arm64_v8a/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libandroid-e.so main.obj qrc_qml.obj -LC:/Qt/5.12.3/android_arm64_v8a/lib -lQt5Quick -LC:\Qt\5.12.3\android_arm64_v8a/lib -Lc:\Utils\Android\android-ndk-r18b/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -LC:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a C:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21 -llog -lz -lm -ldl -lc -v
    Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
    Target: aarch64-none-linux-android
    Thread model: posix
    InstalledDir: C:\Android\sdk\ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin
    Found candidate GCC installation: C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android\4.9.x
    Selected GCC installation: C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x
    Candidate multilib: .;@m64
    Selected multilib: .;@m64
    Found CUDA installation: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1, version 9.1
    "C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld" "--sysroot=C:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64/" -EL --fix-cortex-a53-843419 -z now -z relro --hash-style=both --enable-new-dtags --eh-frame-hdr -m aarch64linux -shared -o libandroid-e.so "C:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64//usr/lib\crtbegin_so.o" -LC:/Qt/5.12.3/android_arm64_v8a/lib "-LC:\Qt\5.12.3\android_arm64_v8a/lib" "-Lc:\Utils\Android\android-ndk-r18b/sources/cxx-stl/llvm-libc++/libs/arm64-v8a" "-LC:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a" "-LC:\Android\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\8.0.7\lib\linux\aarch64" "-LC:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x" "-LC:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib/../lib64" "-LC:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib" "-LC:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64//usr/lib" --exclude-libs libgcc.a --exclude-libs libatomic.a -soname libandroid-e.so -rpath=C:/Qt/5.12.3/android_arm64_v8a/lib --no-undefined -z noexecstack main.obj qrc_qml.obj -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 "C:\Android\sdk\ndk-bundle/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21" -llog -lz -lm -ldl -lc -lc++ -lm -lgcc -ldl -lc -lgcc -ldl "C:\Android\sdk\ndk-bundle/platforms/android-21/arch-arm64//usr/lib\crtend_so.o"
    C:\Android\sdk\ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot find -lc++
    clang++: error: linker command failed with exit code 1 (use -v to see invocation)



  • Have almost the same trouble. After some system updates (Manjaro), it won't run on my any android devices. Crashing with error that cannot found linker -lc++

    02:46:40: Running steps for project Calendar...
    02:46:40: Configuration unchanged, skipping qmake step.
    02:46:40: Starting: "/opt/android-ndk/prebuilt/linux-x86_64/bin/make" -j4
    /opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -D__ANDROID_API__=22 -target aarch64-none-linux-android -gcc-toolchain /opt/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot=/opt/android-ndk/platforms/android-22/arch-arm64/ -Wl,-soname,libCalendar.so -Wl,-rpath=/opt/android-libs/aarch64/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libCalendar.so event.o eventmodel.o main.o qrc_resources.o moc_event.o moc_eventmodel.o   -L/opt/android-libs/aarch64/lib -lQt5Quick -L/opt/android-ndk/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Core /opt/android-ndk/platforms/android-22/arch-arm64/usr/lib/libGLESv2.so  -L/opt/android-ndk/sources/cxx-stl/llvm-libc++/libs/arm64-v8a /opt/android-ndk/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.22 -llog -lz -lm -ldl -lc
    /opt/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: cannot find -lc++
    clang++: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [libCalendar.so] Error 1
    02:46:40: The process "/opt/android-ndk/prebuilt/linux-x86_64/bin/make" exited with code 2.
    Error while building/deploying project Calendar (kit: Android)
    When executing step "Make"
    02:46:40: Elapsed time: 00:00.
    

    SDK is 26.1.1, NDK is 20.0.5594570.



  • I had the same issue with NDK 20. What worked for me was to download NDK r19c (here : https://developer.android.com/ndk/downloads/older_releases) and configure QtCreator to use it in Tools/Options/Devices.



  • For me fixed reinstalling (updating) next packages -> android-aarch64-qt5 and android-armv7a-eabi-qt5 with editing their PKGBUILDs and disabling packages for build tools and platform tools.



  • I have the same problem and I don't know how to resolve it. I had already done all your issues and don't works...



  • @Woazim thanks, i used your advise and it worked.



  • The error: cannot find -lc++ using ndk r20 can be solved like this:
    https://codereview.qt-project.org/c/qt/qtbase/+/264903/9/mkspecs/android-clang/qmake.conf#34

    For example to compile for android armv7 ndk r20, locate the file:
    C:\Qt\5.13.0\android_armv7\mkspecs\android-clang\qmake.conf
    and add the missing -nostdlib++
    for android x86 (i use this for emulator), locate the file:
    C:\Qt\5.13.0\android_x86\mkspecs\android-clang\qmake.conf



  • @Albertino solution Works!!! :) Thank you.



  • @Albertino solution works for me (Qt 5.12.3)



  • @Albertino thank you Sir, you just saved my day (night to be honest).



  • @Albertino @AriosJentu Hello , I am getting while deploying 5.10 project into QT 5.13. It is perfectly deploying for windows but for android unable to deploy i have already tried all available solutions but nothing is working out for me.
    This is my error-
    clang++.exe: error: no such file or directory: 'c:\Utils\Android\android-ndk-r19c/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++.so.21'
    make: *** [libMNSBLauncher.so] Error 1
    12:26:15: The process "C:\Android\android-ndk-r19c\prebuilt\windows-x86_64\bin\make.exe" exited with code 2.
    Error while building/deploying project mobilauncher (kit: Android for arm64-v8a (Clang Qt 5.13.0 for Android ARM64-v8a))
    When executing step "Make" 😢



  • @Albertino thank you!



  • You also can write this into your own qmake file, not into system one. To be precise, just add into your project's .pro the following:

    QMAKE_LINK += -nostdlib++
    

    and that's it



  • This post is deleted!


  • @trousev said in error: cannot find -lc++ qt 5.12 android:

    QMAKE_LINK += -nostdlib++

    Oh nice to know, thanks



  • @albertino THANK YOU! WOOORKS!!!!



  • @trousev What's the underlying problem this solves? It works for me but why? Thx.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.