Sunday, January 24, 2010

Installing Qt 4.6.2 for Symbian SDK on Windows

In this blog post, I will show you how to setup the complete Qt for Symbian S60 development environment properly.

Symbian S60 Development Environment

First we need to setup a Symbian S60 Development Environment. No Qt-related stuff here yet.
  1. Install ActiveState Perl v5.6.1.638 (use ONLY version 5.6.1.638, other versions are not compatible).




    Windows Vista / Windows 7: make sure to run the installer as administrator.
    If not, ActiveState Perl Setup cannot modify the PATH. The workaround is to manually add C:\Perl\bin to the system environment variable PATH.

  2. Install Carbide.c++ IDE (at least version 2.3.0) or Symbian Application Developer Toolkit (ADT) (at least version 1.4, includes Carbide.c++ IDE 2.3.0.)
    I'm curious if Carbide.c++ is still needed when we use Qt Creator as the IDE.
  3. Click Start Menu -> Carbide.c++ -> Configure environment for WINSCW command line.


  4. Install Symbian S60 Platform SDK appropriate for your target device (includes GCCE compiler).
    Since we'll be using Qt for Symbian, it doesn't really matter which S60 Platform SDK you're using, any version above 3rd Edition FP1 (3.1) is good. 5th Edition seems to be a good choice though.




    When asked for Eclipse installation, just skip it.



    During install, if it complains about Java Runtime Environment, simply ignore if because you won't be using it anyway.
    When prompted for installation of CSL ARM Q1C Toolchain, click Yes to install.
For Windows Vista and Windows 7:
  • There are a few compatibility issues
  • You will be prompted by the SDK installer to apply the GCCE patch for MS Vista from <SDK>\plugins\vistapatch\ (<SDK> is C:\S60\devices\S60_5th_Edition_SDK_v1.0 by default). There are instructions in the help.txt file in that directory.
  • The SDK will normally register itself in the file: C:\Program Files\Common Files\Symbian\devices.xml, however on Vista it is forced to create the file in %USERPROFILE%\AppData\Local\VirtualStore\Program Files\Common Files\Symbian\devices.xml. Copy the file manually into the correct location.


  1. Install the Open C/C++ Plug-in for each Symbian Platform SDK you have (though with Qt for Symbian, you just need to have one Symbian SDK).
If you're working on a S60 3rd Edition, FP1 SDK (the earliest version on which Qt will run) you will also need to reinstall the RPipe library. This was installed by the OpenC plugin SDK to the S60_3rd_FP1_3 SDK root directory: \Symbian\9.2\S60_3rd_FP1_3\RPipe_3.1.zip:
  1. Uncompress RPipe_3.1.zip over the SDK root \Epoc32\ tree (e.g. \Symbian\9.2\S60_3rd_FP1_3\Epoc32\).
  2. Download and replace the file <SDK>\epoc32\tools\getexports.exe with getexports.exe
If you want to debug your app on your phone, download AppTRK for your phone and install it. e.g. for Nokia 5800 xpressMusic which runs Symbian S60 5th Edition, you download  s60_5_0_app_trk_3_1_2.sisx.

Qt for Symbian Development Environment

You can then setup Qt for Symbian development environment:
  1. Install Qt for Symbian SDK.
    Make sure to change the Qt folder to C:\Qt\4.6.2-symbian because C:\Qt\4.6.2 will be used for Qt for Windows. Each Qt SDK (e.g. for Windows and for Symbian) will have its own folder. Though you don't have to install Qt SDK for Windows if you only develop for Symbian, it doesn't hurt to name your Qt installation folder clearly.
Install Qt for Symbian on the phone / emulator:
  • Remove previous Qt versions from phone
  • Install either qt_installer.sis (Qt full package) or qtdemos.sis (Qt package + demos) to your phone or emulator.

Setup Qt Creator with Qt for Symbian

  1. Install Qt SDK
  2. Tools -> Options.
  3. Qt4 -> Qt Versions. S60's Qt must be detected from Qt for Symbian SDK.
  4. Qt4 -> S60 SDKs: ?
To get started with Qt Mobility, click here for Qt Mobility SDK Installation for Symbian on Windows tutorial.

For more information about Qt C++ development, check out C++ GUI Programming with Qt 4 (2nd Edition).

To learn Symbian C++ development, I recommend Porting to the Symbian Platform: Open Mobile Development in C/C++ (Symbian Press).

References:
Updates: Updated for Qt 4.6.2.

4 comments:

  1. Dude thank you so very much!!!,
    This post helped me a lot.
    It´s not a straightforward installation but finally I did it.
    Now I have Everything installed on windows 7 x64 (no need to use "vista patch")

    ReplyDelete
  2. Dear,
    I have installed Carbide C++2.7 along with QT4.7 on WinXP Sp3. However, installation of Open C/C++ plugin over SDK 3rd Edition FP1, did not installed RPipe_3.1.zip file to the S60_3rd_FP1_3 SDK root directory. Rest of the steps went fine. But when I create a simple QT GUI project and put a label along with a simple LineEdit control, the default emulator of Carbide C++ takes lot of time loading and then closes down before even showing S60 splash screen on emulator. But this application works if I remove all of the controls and only label controls are on GUI.
    What's going on here? Any idea! I tried your above guide with your mentioned versions first, and I got the same issue, then I updated to latest versions and the same issue.
    Any help will be very helpful

    ReplyDelete
  3. where can i download dis file
    activestate perl v5.6.1.638
    please any one help me please
    can u give direct download file link please

    ReplyDelete

Be the first to comment!