Daily Archives: October 20, 2008

Build Qt for Symbian

About Symbian development environment, please have a look at:
SYMBIAN Development Environment – 1
SYMBIAN Development Environment – 2

Build Qt for Symbian

Platform: Windows XP with SP3(now we only support Qt/S60 on it.)

0. Patches

Patches for S60 development environment

1. Build Qt for symbian

qt-embedded-s60-opensource-src-4.4.2-pyramid.zip

You need to make sure to use Symbian X86 compiler (version 3.2.5 build 473).

Follow this steps in C:Qt4.4.2-pyramiddocinstall-s60.html

Uncompress the package and put it in C:Qt4.4.2-pyramid.

Set your PATH including C:Qt4.4.2-pyramidbin.

Configure:

C:
cd Qt4.4.2-pyramid
configure -platform win32-mwc -xplatform symbian-abld -qconfig symbian

Build:

bldmake bldfiles
abld build winscw udeb

Notice: Please store the Qt/S60 repository and Symbian SDK in the same hard disk drive, maybe you can store them in different drives, and then use tools like WinMount to mount them to same drive.

Before configure and build, you need set EPOCROOT to your SDK, I use “/S60/devices/S60_3rd_FP2_SDK/”, just because my sdk is in C:S60devicesS60_3rd_FP2_SDK.

2. Build Examples

2-1. How to build Qt/S60 application

C:Qt4.4.2-pyramiddocs60-with-qt-introduction.html

Please make sure to use the qmake in your Qt/S60 build.

qmake
bldmake bldfiles
abld build winscw udeb

Run Carbide.c++ v1.3, In the tab of “Symbian Project Navigator”, right click mouse in white space, choose “Import”, in the “Import” dialog, choose “Symbian OS Bld.inf file” under “Symbian OS”, then “Next”, then “Browse…” to choose the bld.inf in above directory. Then you could build it, run it and debug it in Carbide.c++.

2-2. XML HTML info Example

C:Qt4.4.2-pyramiddocxml-htmlinfo.html

Note: Standard out is redirected on some platforms. On Symbian using Open C stdout is by default directed to the console window, but this window may not always be visible. To redirect to a file instead, locate the c:\system\data\config.ini file (on either the emulator or the device) and change STDOUT to point to MEDIA4. This will redirect the console to c:\system\data\out.txt.

For me, the config.ini is C:S60devicesS60_3rd_FP2_SDKepoc32winscwcsystemdataconfig.ini, the out.txt is C:S60devicesS60_3rd_FP2_SDKepoc32winscwcsystemdataout.txt.

Run the Emulator, Start->S60 Developer Tools->3rd Edition FP2 SDK->Emulator.

In the Emulator, go to Menu->Installations->eshell, and type htmlinfo in prompt mode.

2-3. analogclock Example

Now it works fine for me.

Qt/S60 team are still working on the project to make all things work.

3. Build Qt applications for your mobile phone

Please have a look at C:Qt4.4.2-pyramidREADME and C:Qt4.4.2-pyramidINSTALL.

Just go to your Qt application directory,

qmake
bldmake bldfiles
abld build gcce udeb

Create a package for your mobile phone:

createpackage yourqtapplication_gcce_udeb.pkg

Note: Now the package will include Qt library in the .pkg file, if you already have a Qt application package installed, maybe you can’t install the next one. Then please remove these lines from the .pkg file of your second application.

“epoc32releasegcceudebQtGui.dll” – “c:sysbinQtGui.dll”
“epoc32releasegcceudebQtNetwork.dll” – “c:sysbinQtNetwork.dll”
“epoc32releasegcceudebQtCore.dll” – “c:sysbinQtCore.dll”