Qtopia Home - Classes - Hierachy - Annotated - Functions - Licenses - Reference

Instructions for Building Qtopia Desktop

Introduction

This document provides instructions for the building of Qtopia Desktop.

Qtopia Desktop requires Qt 3.3.5. Unless using Qt 3 from the Qtopia 2.2. single package release, a patch must be applied to Qt for using UTF-8 (non-latin1) filenames when sending documents to Qtopia. Refer to: UTF-8 FTP patch for details on how to modify your code.

Windows

Compile Qt

Download and install Qt 3.3.5 for windows with default settings, that is install to c:\qt\3.3.5 (substitute location below if different).

If QMAKESPEC has not been set, set QMAKESPEC for the specific compiler that is to be used.

For MS Visual C++:

     set QMAKESPEC=win32-msvc

Otherwise if the newer .NET compiler is to be used:

     set QMAKESPEC=win32-msvc.net

You can then compile Qt:

     set QTDIR=c:\qt\3.3.5
     set PATH=%QTDIR%\bin;%PATH%
     cd %QTDIR%
     configure -thread -no-stl
     nmake

You must build assistant.exe and qaxcontainer.dll manually:

     cd %QTDIR%\tools\assistant
     nmake
     cd %QTDIR%\extensions\activeqt
     nmake

Qt is now ready to be used with Qtopia Desktop.

Compile Qtopia Desktop

Install Qtopia source to c:\qtopia\2.2.0 (substitute below if different).

If QMAKESPEC has not been set, set QMAKESPEC for the specific compiler that is to be used.

For MS Visual C++:

    set QMAKESPEC=win32-msvc

Otherwise if the newer .NET compiler is to be used:

    set QMAKESPEC=win32-msvc.net

Qtopia provides a specfication for the Standard edition of the .NET compiler to reduce the number of warnings due to missing compiler features.

    set QMAKESPEC=win32-msvc.net_std

Compile Qtopia Desktop and all of its plug-ins:

    set DQTDIR=c:\qt\3.3.5
    set QPEDIR=c:\qtopia\2.0.0\qtopia
    set PATH=%QPEDIR%\bin;%DQTDIR%\bin;%PATH%
    cd %QPEDIR%
    scripts\mkwindows-qtopiadesktop.bat

Qtopia Desktop is now "installed" in %QPEDIR%\dimage\opt\Qtopia. Qtopia Desktop can be run from this location or copied to a more convenient location. If you wish to make an installer, please read %QPEDIR%\src\qtopiadesktop\dist\README.

Linux

Compile using a Qtopia 2.2 Single Package Release.

Download and extract Qtopia 2.2 and then compile Qt and Qtopia Desktop.

    tar zxf qtopia-pda-src-2.2.0.tar.gz
    cd qtopia-pda-src-2.2.0
    ./configure -qtopiadesktop
    make dqt
    cd qtopia
    . ./setQpeEnv
    ./configure -no-qtopia
    make
    make install

Qtopia Desktop is now installed in $QPEDIR/dimage/opt/Qtopia.

Compile Qt Using a Standard Qt Release.

Download and extract Qt 3.3.5 for X11 and then compile Qt.

    tar zxf qt-x11-commercial-3.3.5.tar.gz
    cd qt-x11-commercial-3.3.5
    export QTDIR=$PWD
    export PATH=$QTDIR/bin:$PATH
    ./configure -thread
    make

Compile Qtopia Desktop Using a Standard Qt Release.

Download and extract Qtopia 2.2.

    tar zxf qtopia-pda-src-2.2.0.tar.gz
    cd qtopia-pda-src-2.2.0/qtopia
    export QTDIR=/path/qt/qt-x11-commercial-3.3.5
    export DQTDIR=$QTDIR
    export QPEDIR=$PWD
    export PATH=$QPEDIR/bin:$QTDIR/bin:$PATH
    export LD_LIBRARY_PATH=$QPEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
    ./configure -no-qtopia
    make
    make install

Qtopia Desktop is now installed in $QPEDIR/dimage/opt/Qtopia

Mac OS X

Compile Qt

Download and extract Qt 3.3.5 for Mac OS X and then compile Qt.

    tar xfz qt-mac-commercial-3.3.5.tar.gz
    cd qt-mac-commercial-3.3.5
    export QTDIR=$PWD
    export PATH=$QTDIR/bin:$PATH
    export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
    export DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
    ./configure -thread
    make

Note: Qt and Qtopia Desktop must be build either as "root" or the user that is logged into the GUI. This is due to a limitation in Mac OS X.

The following change can be made after building Qt to workaround this limitation:

    cd qt-mac-commercial-3.3.5/bin
    sudo chown root uic
    sudo chown 4755 uic
    sudo install_name_tool -change libqt-mt.3.dylib /path/to/qt-mac-commercial-3.3.5/lib/libqt-mt.3.dylib uic

Note: This requires administrator privileges. Sudo will prompt you for your password.

Compile Qtopia Desktop

Extract Qtopia source package for example to ~/qtopia-source-2.2.0 (substitute below if different) and then compile Qtopia Desktop.

    tar xfz qtopia-pda-src-2.0.0.tar.gz
    cd qtopia-pda-src-2.2.0/qtopia
    export QTDIR=/path/qt/qt-x11-commercial-3.3.5
    export DQTDIR=$QTDIR
    export QPEDIR=$PWD
    export PATH=$QPEDIR/bin:$QTDIR/bin:$PATH
    export LD_LIBRARY_PATH=$QPEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
    export DYLD_LIBRARY_PATH=$QPEDIR/lib:$QTDIR/lib:$DYLD_LIBRARY_PATH
    scripts/mkmacosx-qtopiadesktop

Qtopia Desktop is now installed in $QPEDIR/Qtopia Desktop.app

UTF-8 FTP Patch

This section only applies to customers who are using a Qt 3.3.5 release that is not part of a Qtopia 2.2 single package. It is of particular relevance to developers using Unicode alphabets. Qtopia Desktop can only transfer ASCII files to a Qtopia device and a patch is provided to enable UTF-8 filenames.

After applying the patch: qt335-qtopia22.patch, Qtopia Desktop will be able to use UTF-8 filenames when communicating with Qtopia.

When running Qtopia Desktop a debug line is displayed as follows:

To view the debug output:

Windows

Windows uses also need the patch utility which can be downloaded from http://unxutils.sourceforge.net/. Place patch.exe in a location in your path, such as C:\Windows.

    cd %QTDIR%
    patch.exe -p1 <%QPEDIR%\scripts\qt335-qtopia22.patch

After applying the patch, it is necessary to re-build Qt and reinstall Qtopia Desktop.

Linux

Ensure the patch is installed on your system using the setup program to install it if required.

    cd $QTDIR
    patch -p1 <$QPEDIR/scripts/qt335-qtopia22.patch

Mac OS X

    cd $QTDIR
    patch -p1 <$QPEDIR/scripts/qt335-qtopia22.patch


Copyright © 2005 Trolltech Trademarks
Qtopia version 2.2.0