Unsolved QT5.9.6 build in ARM EC-A3399C
-
Here is my qmake.conf
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublibQMAKE_INCDIR = /usr/include
/usr/include/aarch64-linux-gnu
QMAKE_LIBDIR = /lib
/usr/lib
/lib/aarch64--linux-gnuQMAKE_INCDIR_OPENGL[_ES2] += /usr/include/GLES2
/usr/include/EGL
/usr/include/GLES3
/usr/include/KHRQMAKE_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-debugwhen 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 -
@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
-
@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
-
@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).