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

How to Crosscompile Qt 5.2.1 to Arm toolchain



  • Hi Qt Experts,

    I am new to Qt5.2.1 Cross compilation. I have cross compiled the QT 5.2.1 version for arm-linux-gnueabi. I have created the qt application also. when i run the Qt binary in the target board that time I got error like xcb could not find.

    root@dra7xx-evm:/opt# ./ITSDVRGUI
    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
    This application failed to start because it could not find or load the Qt platform plugin "xcb".

    Reinstalling the application may fix this problem.
    Aborted (core dumped).

    Is it any arguments required to run GUI ? Is it any document for my reference.
    Kindly suggest me.

    Thanks & Regards,
    RajKumar.


  • Qt Champions 2019

    @RajkumarB said in How to Crosscompile Qt 5.2.1 to Arm toolchain:

    This application failed to start because it could not find or load the Qt platform plugin "xcb".

    How do you deploy your app to the device? The error message tells you that the xcb plug-in is missing.



  • Hi Jsulm,

    Thanks for your reply.

    I have copied the Qt Application binary , Qt configured folder to the device.
    And Export the lib path then run application binary.
    But I didnot enable the xcb in the qt configuration. Qt configured like
    ./configure -prefix /usr/local/QtTDA521 -xplatform linux-arm-mygnueabi-g++ -opensource -confirm-license -qreal float -no-xinerama -no-nis -opengl -no-cups -xcursor -no-xfixes -no-xrandr -no-xrender -no-sm -no-xinerama -no-xshape -v -nomake examples

    Regards,
    Rajkumar



  • Hi,

    Is anyone faced this issue?
    how to solve it?

    Regards,
    Rajkumar



  • @RajkumarB

    I didn't face this issue, I've never used xcb, but did you copied cross compiled plugins/platforms dir to device?
    It contains libqxcb.so that app miss apparently.

    to set the path to platforms plugin use QT_QPA_PLATFORM_PLUGIN_PATH:

    QT_QPA_PLATFORM_PLUGIN_PATH=/opt/device/Qt-5.9.5/plugins/platforms
    

    Also there are such options that I use for eglfs
    QT_QPA_PLATFORM=eglfs
    QT_QPA_EGLFS_INTEGRATION=none
    Maybe xcb has something similar.

    Also to load a plugin on app startup use "plugin" opt:

    ./app -plugin tslib
    

Log in to reply