Getting started with Qt on your Symbian Phone

If you tried to develop applications for Symbian but found it too complicated, you have been given a new opportunity now that the Qt framework is released for Symbian.

With Qt you can use the same code on several different platforms and you don't have to care about Symbian's awkward APIs and coding conventions.

Installing the S60 SDK

Start by downloading the S60 SDK from Nokia. This requires that you register with, which is totally free of charge.

Follow the installation instructions that come with the downloaded zip-file and if you install to the default location you should end up with an S60 SDK in
Create a virtual drive to that directory by running the following on the command line (Accessories/Command Prompt):
subst x: c:\s60\devices\S60_5th_Edition_SDK_v1.0
On Windows Vista your substed drive might not be visible when you try to install Qt. If this happens, start the command prompt by right clicking the command prompt icon and select Run as Administrator before running the subst command.

Set the environment variable EPOCROOT to point to the root directory of the drive by running:
on the command prompt. You can also set the environment variable permanently by right clicking on your computer and selecting Advanced/Environment variables....

Installing the Qt SDK for Symbian

Download the installer for Qt SDK for Symbian and run the downloaded executable to start the installation.

Make sure you install Qt on the substed drive so that directories are not later generated for the wrong drive in your build files.

Install the Qt-files for Symbian SDKs on your virtual drive so that lib-files are available at link time.

Installing Qt on Your Symbian Phone

In the directory you installed Qt to (e.g. X:/Qt/4.6.2/) there are several sis-files that you can install on your Symbian phone. On Nokia phones you can install qt_installer.sis which contains Qt, Qt WebKit and all dependencies.

On Sony Ericsson S60 phones, Satio, Vivaz and Vivaz Pro you must use qt_selfsigned.sis. Since this file is self-signed there will be a number of warnings that you will have to accept during installation. If you are using WebKit, you must also install qtwebkit_selfsigned.sis.

When the Qt libraries are installed you can install fluidlauncher.sis which contains numerous examples for testing your Qt installation. The source code for the examples in Fluid Launcher is available in demos\embedded in your Qt installation.

Problems on Sony Ericsson Satio, Vivaz and Vivaz Pro

If you own an early version of Satio, make sure you upgrade to the latest software, since the release software contains a version of Open C that is not compatible with Qt. You can download new firmware at:

A bug in Qt causes applications to crash when they are launched on Sony Ericsson S60 phones. This is supposed to be updated in Qt 4.6.3. To get around this problem you can copy a TTF font to your memory card. Copy e.g. c:\Windows\Fonts\Arial.ttf to E:\Resource\Fonts and the applications should start without crashing.

Build a Qt application for Symbian

In the directory you intalled Qt (e.g. x:\Qt\4.6.2) there is source available to many examples and demos. To build these you can start the Qt for Symbian Command Prompt from the Start menu under Qt for Symbian by Nokia.

The command prompt will start in the folder to which you installed Qt (e.g. x:\Qt\4.6.2\). Change directory to one of the demos, e.g. styledemo:
> cd demos\embedded\styledemo
Generate build files for Symbian:
> qmake
Build the project with the compiler that comes with the SDK.
> make release-gcce
Alternatively, if you have a license for the RVCT Arm compiler, you can build by running:
> make release-armv5
Create a sis-file:
>make sis
The generated sis-file can now be installed on your Phone so you can run the application. Since the sis-file is self-signed you must accept the warnings that pop-up during the installation.

If you have a pre 686 RVCT-kompilator you must modify the file
So that the line:
QMAKE_CXXFLAGS.ARMCC	= --visibility_inlines_hidden
Instead reads:
Older versions of the compiler does not support this option.

Of course you can also use the Qt IDE Qt Creator. Visit for more information on setting this up.