A Guide To Creating A QT Environment Using Binaries On Windows
A Guide To Creating A QT Environment Using Binaries On Windows
Qt SDK [11] and Nokia Qt SDK [5] are two distinct SDKs. Nokia Qt SDK refers to the new all-in-one
SDK which contains a simulator for different mobile platforms – it contains everything you need to get
started. Qt SDK refers to the binary containing only Qt Creator and the Qt libraries.
At the time of writing the Nokia Qt SDK didn‟t work as expected and wasn‟t used. In the future it is
almost certainly better to use the all-in-one Nokia Qt SDK rather than the combination of separate tools
as is the case in this guide. In fact, it is highly recommended to check the current status of the Nokia Qt
SDK before choosing to continue through this guide.
2 Windows 7 / Vista
If you wish to use this guide to install onto Windows 7 this section should be read. It is likely the same
issues apply to Windows Vista since both follow similar security models. If however, User-access
Control is turned off, then this section does not apply.
Subst-ed drives
When an application is installed, the installer runs in administrator mode. When (most) applications run,
they run in user mode. A drive subst-ed in a user mode terminal is only available to user mode
applications. A drive subst-ed in an administrator mode terminal is only available to administrator mode
applications.
So, when installing Qt for Symbian 4.7 beta, the V:\ drive first needs to be subst-ed in an administrator
mode terminal (Start -> Accessories -> (right click) Terminal -> Run as Administrator).
Editing devices.xml
By default, devices.xml is only writable by the administrator. The permissions for the file need to be
changed before editing it. Also, devices.xml is found under C:\Program Files (x86)\Common
Files\Symbian on Windows 7 64-bit (and 64-bit edition Windows operating systems) edition.
3 The Guide
Step 1
Download and install Carbide.c++ v2.0.0 [8] or higher. Make a note of the installation directory as this
is required later on. It may be necessary to update the Carbide Compiler, in which case follow Qt
documentation for this [2]. Carbide isn‟t used when building for a device and is only required when
building for the emulator.
Step 2
Download and install ActivePerl 5.6.1 build 638 or higher. This is a little problematic since Symbian
platform Requirements for Qt [3]state “According to Symbian, version 5.6.1 build 638 is mandatory for
building Symbian applications, but that version is no longer available from ActiveState. However, Qt for
Symbian has been successfully compiled using both 5.8.x and 5.10.x versions.”
Step 3
Download an install the S60 N97 SDK from Forum Nokia [6]. Install it to something like
D:\Nokia\Nokia_N97_SDK_v1.0. It should not be installed onto the susbt drive.
There is no need to provide a value for Eclipse installation directory.
Step 4
Subst a drive to the N97 SDK such that the epoc32 directory is in the root of the subst drive. For
example, to subst a drive “V:” to the Nokia SDK installed on “D:” do
subst V: D:\S60\devices\Nokia_N97_SDK_v1.0
Nokia N97 SDK Installation – subst drive “V:” and epoc32 directory
Ensure your %PATH% environment variable contains the following values at the beginning:
\epoc32\gcc\bin
\epoc32\tools
Step 6
Install the Open C library plugin by Nokia [7]. At the time of writing only version 1.6 is available. The
installer should pick up the installed N97 SDK.
Step 7
Run “epoc” and check the emulator launches.
Step 8
Install Qt 4.7 Beta binary for Symbian. At the time of writing Qt 4.7 Beta 2 is available [4]. Ensure it is
installed to the subst drive, for example Qt root should be similar to V:\Qt\4.7.0-beta1 and Qt bin
V:\Qt\4.7.0-beta1\bin.
Qt 4.7 Beta for Symbian installation – ensure source is installed and N97 SDK selected
Step 9
Install QtCreator to a physical drive (not to your subst drive) using the binary. Accept the option to
install the MinGW compiler. At the time of writing QtCreator 2.0 is available [4]. In the screen capture
below, Qt Creator Release Candidate was used which reported a broken version number of “1.3.85” – it
is actually release candidate 2.0.
Step 10
Ensure your environment variable %PATH% contains the location of the “bin” directory of the Qt for
Symbian installation. Your value may look similar to:
V:\Qt\4.7.0-beta1\bin
Combined with the previous modifications to %PATH%, the beginning of your environment variable
should look similar to:
\epoc32\gcc\bin;\epoc32\tools;V:\Qt\4.7.0-beta1\bin;C:\Qt\qtcreator-1.3.81\mingw\bin;C:\Perl\bin;
Notice the location of the “bin” directory of the Active Perl installation was added during the installation
of Active Perl.
Everything is now installed but some additional steps are required for a working environment.
Step 11
Qt Example applications must be built manually in order for them to be displayed on the emulator. The
examples are located in [QT_HOME]\examples and are built by running 'qmake' to generate the make
files, followed by 'make' to actually build the Examples.
Step 12
Qt Demo applications must be built manually in order for them to be displayed on the emulator. The
examples are located in [QT_HOME]\demos and are built by running 'qmake' to generate the make
files, followed by 'make' to actually build the Demos.
Step 13
Modify devices.xml („C:\Program Files\Common Files\Symbian\devices.xml‟) such that the N97 SDK
path uses the subst drive and not the physical location on C: or D: (for example).
Here is an unmodified devices.xml file:
<?xml version="1.0"?>
<devices version="1.0">
<device id="Nokia_N97_SDK_v1.0" name="com.nokia.s60" default="yes"
userdeletable="yes">
<epocroot>D:\S60\devices\Nokia_N97_SDK_v1.0</epocroot>
<toolsroot>D:\S60\devices\Nokia_N97_SDK_v1.0</toolsroot>
</device>
</devices>
Qt Creator 2.0 setup – the SDK is listed using the subst drive.
Step 15
In QtCreator, configure a Qt version using a subst drive (Tools > Options > QT4 > Qt Versions). You
should have an auto-detected entry which looks something like
"Nokia_N97_SDK_Version_1.0(Qt4.7)". This should be using your subst drive and not a physical drive
for any of its values. For example, if your susbt drive is “V:”, SDK properties should be:
Version name: Nokia_N97_SDK_Version_1.0(Qt4.7)
qmake location: V:\Qt\4.7.0-beta1\bin
S60 SDK: V:\
CSL/GCCE directory: [EMPTY]
Carbide Directory: C:\Program Files\Nokia\Carbide.c++ v2
Note the only exception is the value for the Carbide installation directory which is not on your subst
drive). You will need to add the Carbide directory yourself, but everything else should be correct. Don't
worry that the debugger helper library hasn't built - it isn't required.
Step 16
Now you can add a Symbian Emulator target in QtCreator by clicking on the 'Projects' tab.
Step 17
The armv5 compiler was used to build the project and as such the Tool Chain setting should be set to
RVCT (armv5).
Contributors
Reviewers
5 History
Version Date Author Description
6 References
Ref Title Link