BuildingQtForOpie

You can either build Qt/Embedded for a PDA (iPAQ, Zaurus, Simpad, etc.) or for your host PC. Building for your host PC is convenient for testing and developing without having to copy over to your PDA.

The first type of build is called a cross-compilation, since the target architecture is different from the architecture you are compiling on; it's also slightly more difficult since you need to install libraries (like libjpeg or zlib) compiled for a PDA (typically an ARM processor based handheld). It's easier and recommended to use OpenEmbedded for cross-compilation. Because OpenEmbedded can require quite a bit of resources on your host PC another method is explained in this page.

Compile Qt/Embedded for host platform
For Development it is recommended to compile Qt/Embedded for your host platform. To do this follow the next steps:

 Download Qt/Embedded 2.3.10 Download uic from here or build it using Qt/X11 and copy it into your Qt/Embedded directory Change directory to your development dir Extract Qt/Embedded tar zxvf /where/your/qtdownload/is/qt-embedded-2.3.10.tar.gz  Change into Qt directory cd qt-2.3.10  Set QTDIR environment variable export QTDIR=$PWD  Make a symlink to uic ln -s /where/your/uic-download/is/uic-qt2 bin/uic  Check correct permission to uic chmod u+rx /where/your/uic-download/is/uic-qt2 </li> link to Opie config-file ln -s $OPIEDIR/qt/qconfig-qpe.h src/tools/ </li> patch Qt/Embedded to work correctly with Opie and remove some Qt/Embedded errors patch -p1 < $OPIEDIR/qt/qt-2.3.10.patch/qte-2.3.10-all.patch </li> For some systems, additional patches are required: <ul> On systems with gcc 4.x.x, apply the gcc4 patch: patch -p1 < $OPIEDIR/qt/qt-2.3.10.patch/gcc4.patch

Additionally, if you are compiling with gcc 4.x.x on an AMD64 system, apply this patch also: patch -p1 < $OPIEDIR/qt/qt-2.3.10.patch/gcc4_amd64.patch </li> MacOS X users apply the qte-2.3.7-all-macosx.patch </li> If you are building against a modern Linux kernel you will also need to apply another patch (especially if you get the error "asm/page.h: No such file or directory" without it): patch -p1 < $OPIEDIR/qt/qt-2.3.10.patch/fix-qte-asm-include.patch </li> </ul> configure and make Qt/Embedded ./configure -qconfig qpe -depths 4,16,24,32 -system-jpeg \ -system-libpng -system-zlib -no-xft -qvfb make </li> </ol>

After you have compiled Qt/Embedded successfully, you can go on to BuildOpie.