Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QT5.9.6 build in ARM EC-A3399C



  • Here is my qmake.conf
    MAKEFILE_GENERATOR = UNIX
    CONFIG += incremental
    QMAKE_INCREMENTAL_STYLE = sublib

    QMAKE_INCDIR = /usr/include
    /usr/include/aarch64-linux-gnu
    QMAKE_LIBDIR = /lib
    /usr/lib
    /lib/aarch64--linux-gnu

    QMAKE_INCDIR_OPENGL[_ES2] += /usr/include/GLES2
    /usr/include/EGL
    /usr/include/GLES3
    /usr/include/KHR

    QMAKE_LIBDIR_OPENGL[_ES2] = /usr/lib/aarch64-linux-gnu

    QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL

    include(../common/linux.conf)
    include(../common/gcc-base-unix.conf)
    include(../common/g++-unix.conf)

    modifications to g++.conf

    QMAKE_CC = aarch64-linux-gnu-gcc
    QMAKE_CXX = aarch64-linux-gnu-g++
    QMAKE_LINK = aarch64-linux-gnu-g++
    QMAKE_LINK_SHLIB = aarch64-linux-gnu-g++

    modifications to linux.conf

    QMAKE_AR = aarch64-linux-gnu-ar cqs
    QMAKE_OBJCOPY = aarch64-linux-gnu-objcopy
    QMAKE_NM = aarch64-linux-gnu-nm -P
    QMAKE_STRIP = aarch64-linux-gnu-strip

    #EGLFS_DEVICE_INTEGRATION = eglfs_brcm

    load(qt_config)

    My configure is
    ./configure -release -xplatform linux-arm-gnueabi-g++ -sysroot / -I/usr/include/c++/7 -no-opengl -opengl es2 -eglfs -linuxfb -prefix /opt/qt5.9.6-arm -opensource -confirm-license -make libs -no-pch -no-iconv -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtsensors -skip qtserialbus -skip qtspeech -skip qtsvg -skip qttools -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -no-feature-iconv -no-feature-gestures -no-qml-debug

    when I configure qt source in arm, occurred an error:
    Note:Also available for linux:linux-clang linux-icc
    Note:Dropped compiler flags 'pthread' when detecting library 'glib'
    Note:Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing
    Note:No wayland-egl support detected. Cross-toolkit compatibility disabled
    ERROR:Qt requires a compliant STL library


  • Lifetime Qt Champion

    @goldlovemoon said in QT5.9.6 build in ARM EC-A3399C:

    ERROR:Qt requires a compliant STL library

    What is the version of your cross compiler?
    Also, add -v parameter to configure call and see what exactly happens when configure tests for STL.



  • @jsulm gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz this is the compiler I used


  • Lifetime Qt Champion

    @goldlovemoon "-sysroot /" - this doesn't look right. You can't use your host file system as sysroot for your device.



  • @jsulm I compile qt resource in arm,so sysroot is the arm root



  • @jsulm May I ask a question, why cross compiler Qt with opengl depends arm sysroot, why not build opengl in virtual machine, then transplant environment to arm


  • Lifetime Qt Champion

    @goldlovemoon said in QT5.9.6 build in ARM EC-A3399C:

    why not build opengl in virtual machine, then transplant environment to arm

    I'm not sure I understand your question. When cross compiling for a different architecture you need a crosscompiler and sysroot for your device. A virtual machine will not help here.
    I guess your host machine is x86, right? That means, to build for ARM you need a compiler running on x86 but generating binaries for ARM. And you need sysroot containing the stuff from the file system of your device (libs, include files).


Log in to reply