Quantcast
Channel: Qt DevNet forums: QtonPi
Viewing all articles
Browse latest Browse all 92

Qt5.3.2 cross-compile : how to enable eglfs plugin

$
0
0
I have been trying to cross compile Qt 5.3.2 following this tutorial [ics.com] and without eglfs and egl the build succeeds. But when I try to compile it with eglfs and egl I’m getting the following error: /src/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/mnt/rpi-rootfs/opt/vc/lib -Wl,-rpath-link,/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/mnt/rpi-rootfs/lib/arm-linux-gnueabihf --sysroot=/mnt/rpi-rootfs -Wl,--no-undefined -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/qt5-rpi/lib -shared -o libqeglfs.so .obj/main.o .obj/qeglfsintegration.o .obj/qeglfswindow.o .obj/qeglfsscreen.o .obj/qeglfshooks_stub.o .obj/qeglfscontext.o .obj/qeglfshooks_pi.o .obj/qrc_cursor.o  -L/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf -L/mnt/rpi-rootfs/opt/vc/lib -lbcm_host -L/home/mohylaf/src/rpi/qt5_2/qtbase/lib -lQt5PlatformSupport -L/mnt/rpi-rootfs/usr/lib/vc -lz -ludev -lmtdev -lQt5Gui -lQt5Core -lGLESv2 -lpthread -lEGL -L/mnt/rpi-rootfs/usr/lib .obj/qeglfsintegration.o: In function `QEglFSIntegration::~QEglFSIntegration()': qeglfsintegration.cpp:(.text+0x68): undefined reference to `QEGLPlatformIntegration::~QEGLPlatformIntegration()' and other errors related to the missing methods from QEGLPlatformIntegration class. More detailed info: I’m using the Raspbian ‘wheezy’ distro version from December 2014. In addition to the above mentioned tutorial, I had to install the following packages on Raspbian libgegl-dev libgbm-dev libehl1-mesa-dev libgles2-mesa-dev libraspberrypi-dev and I edited the QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_INCDIR_EGL paths in /src/rpi/qt5/qtbase/mkspecs/devices/linux-rasp-pi-g++/qmake.conf the configuration then looks like this (showing only the relevant part … at least I hope) qmake vars .......... styles += mac fusion windows QMAKE_INCDIR_OPENGL_ES2 =  QMAKE_LIBDIR_OPENGL_ES2 =  "/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf" QMAKE_LIBS_OPENGL_ES2 =  "-L/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf" "-lGLESv2" QMAKE_INCDIR_LIBUDEV =  QMAKE_LIBS_LIBUDEV = -ludev  DEFINES += QT_NO_LIBUDEV QMAKE_X11_PREFIX = /usr DEFINES += QT_NO_XKB QMAKE_XKB_CONFIG_ROOT = /usr/share/X11/xkb QMAKE_INCDIR_EGL = /mnt/rpi-rootfs/usr/include/libdrm  QMAKE_LIBS_EGL = -L/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf -lEGL  QMAKE_CFLAGS_EGL =  QMAKE_CFLAGS_XCB =  QMAKE_LIBS_XCB = -L/mnt/rpi-rootfs/usr/lib/arm-linux-gnueabihf -lxcb-sync -lxcb-xfixes -lxcb-render -lxcb-randr -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-icccm -lxcb-shape -lxcb  sql-drivers =  sql-plugins =  sqlite qmake switches   Build options:   Configuration .......... accessibility alsa audio-backend c++11 clock-gettime clock-monotonic compile_examples concurrent cross_compile egl eglfs evdev eventfd freetype full-config getaddrinfo getifaddrs iconv inotify ipv6ifname large-config largefile linuxfb medium-config minimal-config mremap mtdev nis no-harfbuzz opengl opengles2 pcre png posix_fallocate qpa qpa reduce_exports release rpath shared small-config system-jpeg system-zlib xcb xcb-glx xcb-plugin xcb-render xcb-sm xcb-xlib xkbcommon-qt xlib xrender   Build parts ............ libs examples   Mode ................... release   Using C++11 ............ yes   Using PCH .............. no   Target compiler supports:     iWMMXt/Neon .......... no/auto   Qt modules and options:   Qt D-Bus ............... no   Qt Concurrent .......... yes   Qt GUI ................. yes   Qt Widgets ............. yes   Large File ............. yes   QML debugging .......... yes   Use system proxies ..... no   Support enabled for:   Accessibility .......... yes   ALSA ................... yes   CUPS ................... no   Evdev .................. yes   FontConfig ............. no   FreeType ............... yes (bundled copy)   Glib ................... no   GTK theme .............. no   HarfBuzz ............... no   Iconv .................. yes   ICU .................... no   Image formats:     GIF .................. yes (plugin, using bundled copy)     JPEG ................. yes (plugin, using system library)     PNG .................. yes (in QtGui, using bundled copy)   journald ............... no   mtdev .................. yes (system library)   Networking:     getaddrinfo .......... yes     getifaddrs ........... yes     IPv6 ifname .......... yes     OpenSSL .............. no   NIS .................... yes   OpenGL / OpenVG:     EGL .................. yes     OpenGL ............... yes (OpenGL ES 2.x)     OpenVG ............... no   PCRE ................... yes (bundled copy)   pkg-config ............. yes   PulseAudio ............. no   QPA backends:     DirectFB ............. no     EGLFS ................ yes     KMS .................. no     LinuxFB .............. yes     XCB .................. yes (system library)       EGL on X ........... no       GLX ................ yes       MIT-SHM ............ yes       Xcb-Xlib ........... yes       Xcursor ............ yes (loaded at runtime)       Xfixes ............. yes (loaded at runtime)       Xi ................. yes (loaded at runtime)       Xi2 ................ no       Xinerama ........... yes (loaded at runtime)       Xrandr ............. yes (loaded at runtime)       Xrender ............ yes       XKB ................ no       XShape ............. yes       XSync .............. yes       XVideo ............. yes   Session management ..... yes after the compilation error I checked the symbols included in /src/rpi/qt5_2/qtbase/lib/libQt5PlatformSupport.a library (that is where I assume that the QEGLPlatformIntegration class methods definitions will be) and there is no qeglconvenience.o object and therefore no QEGLPlatformIntegration class methods … I also checked the /src/rpi/qt5_2/qtbase/src/platformsupport/Makefile which was generated and there is no prescription to make the qeglconvenience.o object … but I don’t know why. Thanks for help.

Viewing all articles
Browse latest Browse all 92

Trending Articles