Qt Extended Home · Build System Home · Reference · User Guide · Internals codeless banner

Creating and using binary SDKs

Creating a binary SDK

When Qt Extended is built it produces a binary SDK. This is a directory that can be used to build third party applications. Note that this directory must be finalized before it can be deployed to another computer.

You can specify the location of the sdk by passing -sdk /path/to/sdk to configure. Unlike previous versions of Qtopia, Qt Extended creates the SDK incrementally.

A common reason to use binary SDKs is to put Qt Extended into a toolchain directory or other shared location so that multiple developers can build against the same configuration without having to build Qt Extended for each machine.

    configure -device mydevice -sdk /opt/toolchains/mydevicetoolchain
    bin/qbuild
    bin/qbuild sdk

Note that an SDK does not include the files required to run Qt Extended, only the files required to build third party applications.

Installing into a sandbox

You cannot currently install the SDK into a sandbox.

Using a binary SDK

All development is done against a binary SDK, both non-finalized SDKs and finalized SDKs that have been deployed to another machine. The experience should not differ in any significant way. There is no need to set environment variables to use the SDK. However it may be useful to include the bin directory in your PATH so that qbuild is readily available.

Advanced binary SDK creation

A combination of x86 (native) and device (cross-compiled) SDKs is useful when building apps. The native build allows running on a fast, desktop system under QVFb and the device SDK allows creation of apps for the actual device.

To do this you must complete 2 builds. This example will create the native SDK first. Before that can be done the sources must be unpacked and suitable build directories created.

    tar zxf qtopia-phone-commercial-src-4.2.4.tar.gz
    mkdir build_native
    mkdir build_device

The native SDK does not depend on Qt and includes an image so that the apps can be run under QVFb.

    cd build_native
    ../qtopia-phone-4.2.4/configure -device mydevice -qvfb -force-build-qt -sdk /opt/Qtopia/SDK/4.2.4/x86 -image /opt/Qtopia/SDK/4.2.4/x86/image
    bin/qbuild
    bin/qbuild image
    bin/qbuild sdk
    cd ..

The device SDK does not include an image since the apps are run on the device. It uses Qt from the native SDK.

    cd build_device
    export PATH=/opt/Qtopia/SDK/4.2.4/x86/bin:$PATH
    ../qtopia-phone-4.2.4/configure -device mydevice -sdk /opt/Qtopia/SDK/4.2.4/mydevice
    bin/qbuild
    bin/qbuild sdk
    cd ..

Using multiple SDKs

A third party project can only be built against a single SDK at a time. You should run qbuild clean before switching between SDKs. To select the SDK to use, simply run the appropriate qbuild.

Here is how you would run under the native SDK created above.

    export PATH=/opt/Qtopia/SDK/4.2.4/x86/bin:$PATH
    qbuild clean
    qbuild
    qbuild image
    runqtopia

Here is how you would create a device package.

    export PATH=/opt/Qtopia/SDK/4.2.4/mydevice/bin:$PATH
    qbuild clean
    qbuild
    qbuild packages

See also Overviews.


Copyright © 2009 Trolltech
Qt Extended - Build System Documentation