Qt World Summit: Submit your Presentation

How to Cross Compile QT5 Libraries

  • Hi all,
    I am very beginner at cross/embedded developing. As you can guess, i had billions of problems when building qt and configuring it. But I guess there is a FINAL one.

    Udoo Neo (Ubuntu 14.04 LTS X11)
    QT 5.11 installed in host system
    QT 5.7 builded (to cross compile)

    I finished compiling my application, but when I run it on the target device, it gives "no library" errors. I see some people says "I have my libraries cross compiled already" and stuff.

    How can I have my arm compiled application working now? How can I cross compile and (where to) "deploy" needed libraries in needed version (5.7.0)?

    Sorry for being noobish :)

    UPDATE: there is no QT or anything installed on target device. Assume it as a 0day one. Only my app.

  • Moderators

    did the cross compiled version was configured with -prefix?
    Check objdump -x myexecutable | grep RPATH. That should show the path where you need to deploy the binaries on the target.

    Also are you aware that your application needs also be cross compiled against the cross compiled QT libs?

  • @raven-worx
    Yes, my -prefix val is "/opt/qtemb". So am i gonna take all that "cross compiled" libs from my "cross compiled" qt build? And make application use them somehow?
    Thank you so much for your response! Sorry for asking silly questions :D

  • Lifetime Qt Champion


    If you copy the files over your target respecting the same folders as your desktop machine, then you won't have anything special to do.