Important: Please read the Qt Code of Conduct -

How to turn off major portions of Qt?

  • This is somewhat of a followup to an earlier post but it's a bit more general.
    I'm attempting to cross-compile Qt Everywhere 4.8.4 for an ARM system that has no GUI. I'm trying various things in ./configure and make to strip it down to eliminate WebKit and QtGUI but I'm not making much progress. The last attempt was

    ./configure -embedded arm -xplatform linux-arm-gnueabi-g++ -prefix /mydir/QtTest -little-endian -no-opengl -no-mouse-linuxtp -no-kbd-linuxinput -no-gfx-linuxfb -no-webkit

    followed by:

    make sub-src

    That craps out trying to build qmnghandler.cpp saying qcolor.h doesn't exist. So did I not turn off something? Any other suggestions?

  • Lifetime Qt Champion


    You need to add -no-gui

    Look at configure --help, you'll see all what you can disable

    Hope it helps

  • You can use qconfig which can be compiled from the tools directory. Then you can easily remove features you don't need for smaller Qt libraries.

  • That's a bit of a Catch-22 though. I'm attempting to cross-compile the libraries. So if I built qconfig, after running /configure and make, I'd be building qconfig for my ARM system. I guess I could build everything twice and just move the qconfig executable somewhere safe during the second pass. Kinda sucks that there isn't a make menuconfig method for doing this.

    But I have managed to build the libraries and run a simple QTimer-based hello world on the ARM system.

  • No, qconfigure is built using the standard windows Qt libraries. You then use it to set up a configuration file for your cross compile. It is in the Qt docs under the tuning heading for windows ce installation.

Log in to reply