⚠️ Forum Maintenance: Feb 6th, 8am - 14pm (UTC+2)

Guidance for setting up Qt for Cross Compilation

  • Hi,

    I am trying to cross compile for my target application on my host machine, but I'm not sure how to go about it. I have read a few blogs, but I am not able to connect the pieces. Here is my configuration details:

    Qt : 5.4.0 (Qt Creator 3.3.0)
    Host Machine: x86 Fedora 19 (64 bit)
    Target Machine: Intel x86 Debian Linux

    I have Qt5 installed on my target device and can build on the target or build on my host using the root file system of my target device by using chroot.

    I want to be able to cross compile from QtCreator and launch the application on my target device. I have no problem in setting up the SSH and the sending the application over to the target, but I am not sure how to configure the compiler and the tool chain.

    I have the entire root file system of my target on my host machine, so I should have access to all of the Qt5 libraries and compiler for my target, but I'm not sure how to set this up. Here are my questions:

    1. Where should I get the compiler for my target? Should I use /usr/bin/g++ (target rfs)
    2. Where do I get qmake for the target? The following failed to load TargetRFS#/usr/local/Qt-5.4.0/bin/qmake
    3. Do I need to obtain a tool chain for this ?
    4. Anything else I might need to do?

    Thanks in advance for any help on this.

  • Lifetime Qt Champion


    Did I read correctly that you have one 32bit and one 64bit machine ?

  • They are both 64 bit machines.

  • Lifetime Qt Champion

    Then why cross-compile ? The only big difference is then the distribution

  • Okay, that's what I thought. But when I used the native compilers on my host machine and loaded the application on my target I got an error stdin is not a tty when the application ran.

  • Lifetime Qt Champion

    How are you calling your application in the target ? Do you have a window manager ?

Log in to reply