Cross compile Qt (Windows) to Raspberry 3 ERROR no qpa platform plugin enabled



  • i follow this tuto but i get error at step 13 :

    $ ../qt-everywhere-opensource-src-5.6.2/configure -platform win32-g++ -xplatform linux-arm-gnueabi-g++ -release -device linux-rpi3-g++ -sysroot C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot -prefix /usr/local/qt5 -device-option CROSS_COMPILE=C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf- -nomake examples -opensource -confirm-license

    • cd qtbase
    • /c/Users/osman1/Downloads/qtrpi3/qt-everywhere-opensource-src-5.6.2/qt-everywhere-opensource-src-5.6.2/qtbase/configure -top-level -platform win32-g++ -xplatform linux-arm-gnueabi-g++ -release -device linux-rpi3-g++ -sysroot C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot -prefix /usr/local/qt5 -device-option CROSS_COMPILE=C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf- -nomake examples -opensource -confirm-license

    This is the Qt Open Source Edition.

    You are licensed to use this software under the terms of
    the Lesser GNU General Public License (LGPL) versions 2.1.
    You are also licensed to use this software under the terms of
    the GNU Lesser General Public License (LGPL) versions 3.

    You have already accepted the terms of the Open Source license.

    Preparing build tree...
    Running configuration tests (phase 1)...
    Done running configuration tests.
    Running configuration tests (phase 2)...
    Note: PKG_CONFIG_LIBDIR automatically set to C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot/usr/lib/pkgconfig:C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot/usr/share/pkgconfig:C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot/usr/lib/arm-linux-gnueabihf/pkgconfig
    Note: PKG_CONFIG_SYSROOT_DIR automatically set to C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot

    Could not determine the target architecture!
    Turn on verbose messaging (-v) to see the final report.
    checking for C++11... no.
    checking for default C++ standard edition... no.
    checking for 64-bit std::atomic... no.
    checking for 64-bit std::atomic in -latomic... no.
    checking for sse2... no.
    checking for ipc_sysv... no.
    checking for ipc_posix... no.
    checking for zlib... no.
    checking for mtdev... no.
    checking for libjpeg... no.
    checking for libpng... no.
    checking for dlopen... no.
    checking for libdl... no.
    checking for DB2... no.
    checking for InterBase... no.
    checking for MySQL (thread-safe)... no.
    checking for MySQL (thread-unsafe)... no.
    checking for OCI... no.
    checking for ODBC... no.
    checking for iODBC... no.
    checking for PostgreSQL... no.
    checking for SQLite2... no.
    checking for TDS... no.
    checking for Cups... no.
    checking for POSIX iconv... no.
    checking for SUN libiconv... no.
    checking for GNU libiconv... no.
    checking for D-Bus... no.
    checking for libproxy... no.
    checking for Glib... no.
    checking for ICU... no.
    checking for PulseAudio... no.
    checking for OpenGL... no.
    checking for OpenGL ES 2.0... no.
    checking for FontConfig... no.
    checking for libudev... no.
    checking for evdev... no.
    checking for tslib... no.
    checking for xkbcommon... no.
    checking for XLib... no.
    checking for Xrender... no.
    checking for XInput2... no.
    checking for xcb... no.
    checking for GBM... no.
    checking for LinuxFB... no.
    checking for KMS... no.
    checking for Mir client... no.
    checking for EGL... no.
    WARNING: Unable to find file .device.vars
    No QPA platform plugin enabled!
    If you really want to build without a QPA platform plugin you must pass
    -no-qpa-platform-guard to configure. Doing this will
    produce a Qt that can not run GUI applications.
    The dependencies needed for xcb to build are listed in
    src/plugins/platforms/xcb/README

    how can i solve this



  • @ocankaya You need to install Xorg (or whatever X11 you want to use) for the ARM architecture. This is a problem when crosscompiling. So you may have X11 on your computer but you don't have it for the target architecture. Alternatively you can disable it like the warning says but you will not be able to build GUI components with that Qt.

    Edit: Actually reading your config output it's more than that. It isn't finding any of the stuff it needs. Can't find dlopen even. So my guess here is your configure isn't pointing at your Raspberry's file system properly so it can't find any of the headers and libs it needs to build.

    My guess here is you messed up step 6 in this tutorial you followed (http://visualgdb.com/tutorials/raspberry/qt/embedded/).



  • @ambershark but i do step 6 without error


  • Moderators

    @ocankaya You should check whether C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot really contains the sysroot


Log in to reply
 

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