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

Android can't be built without EGL

XMLWordPrintable

    • Android
    • 8fdc771bf (dev), a622cf4d8 (6.10), 9ab3c4fc1 (tqtc/lts-6.8)
    • 2025wk40s2-3QtforAndroid

      In qtbase/src/gui/kernel/qplatformopenglcontext.h QEGLIntegration declaration is under #if QT_CONFIG(egl), but in qtbase/src/plugins/platforms/android/qandroidplatformintegration.h it's used without any checks. Therefore if you configure without EGL, you'll get compile errors:

      [1051/1176] Building CXX object qtbase/src/plugins/platfor...akeFiles/QAndroidIntegrationPlugin.dir/androidjnimain.cpp.
      FAILED: [code=1] qtbase/src/plugins/platforms/android/CMakeFiles/QAndroidIntegrationPlugin.dir/androidjnimain.cpp.o 
      /Users/kambala/.conan2/p/andro519d4429ff60b/p/bin/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android28 --sysroot=/Users/kambala/.conan2/p/andro519d4429ff60b/p/bin/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -DQAndroidIntegrationPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_LEAN_HEADERS=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/src/plugins/platforms/android/QAndroidIntegrationPlugin_autogen/include -I/Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/plugins/platforms/android -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/src/plugins/platforms/android -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include -I/Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/3rdparty/android -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtCore -I/Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/mkspecs/android-clang -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/src/corelib -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtCore/6.8.3 -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtCore/6.8.3/QtCore -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtGui -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/src/gui -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtGui/6.8.3 -I/Users/kambala/.conan2/p/b/qt2ea5275baf25e/b/build/Release/qtbase/include/QtGui/6.8.3/QtGui -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -DNDEBUG -Oz -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -pthread -ftrivial-auto-var-init=pattern -fstack-protector-strong -MD -MT qtbase/src/plugins/platforms/android/CMakeFiles/QAndroidIntegrationPlugin.dir/androidjnimain.cpp.o -MF qtbase/src/plugins/platforms/android/CMakeFiles/QAndroidIntegrationPlugin.dir/androidjnimain.cpp.o.d -o qtbase/src/plugins/platforms/android/CMakeFiles/QAndroidIntegrationPlugin.dir/androidjnimain.cpp.o -c /Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/plugins/platforms/android/androidjnimain.cpp
      In file included from /Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/plugins/platforms/android/androidjnimain.cpp:20:
      /Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/plugins/platforms/android/qandroidplatformintegration.h:43:64: error: expected class name
                                        , QNativeInterface::Private::QEGLIntegration
                                                                     ^
      /Users/kambala/.conan2/p/qtdc63871c2e931/s/src/qtbase/src/plugins/platforms/android/qandroidplatformintegration.h:60:117: error: only virtual member functions can be marked 'override'
          QOpenGLContext *createOpenGLContext(EGLContext context, EGLDisplay display, QOpenGLContext *shareContext) const override;
                                                                                                                          ^~~~~~~~
      2 errors generated.
      ninja: build stopped: subcommand failed.
      

        For Gerrit Dashboard: QTBUG-140536
        # Subject Branch Project Status CR V

            assam Assam Boudjelthia
            kambala Andrey Filipenkov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes