Start with Qt 4.7 for Symbian, Today

Published Sunday December 12th, 2010
34 Comments on Start with Qt 4.7 for Symbian, Today
Posted in Qt, Qt Quick, S60

Did you always want to test your QML project on a Symbian phone but were held back, because there is currently no easy way to set up an environment with Qt 4.7 for Symbian? Then this post may be of interest. I’ll show you a cheap trick how to set up Qt 4.7 for Symbian on top of the SDK 1.0 and without fighting through the traditional Symbian environment installation procedure.


Note: This is a cheap trick and it is not supported by Nokia. If you do not want to risk losing half an hour of time or if you prefer supported all-in-one installer solutions, please skip this and wait for the official release of the SDK with Qt 4.7 for Symbian. And Yes! We are sweating a lot to release the next SDK with Qt 4.7 for Symbian :). Good things take their time though, so right now there is still the SDK 1.0 with Qt 4.6 -no 4.7, no QML- for Symbian.

  1. Download and install the SDK 1.0
    Download the SDK 1.0 (you decide whether online or offline). Then launch the installer and run it in either Default mode (installs a lot!) or in Custom mode. If in Custom mode [screen shot], make sure that you leave at least the Symbian for Qt 4.6 component [screen shot] selected.
  2. Create a copy of the Symbian SDK and remove Qt 4.6 from it
    You should have a directory called <sdkdir>SymbianSDK. Create a copy of it like: <sdkdir>SymbianSDK-qt-4.7.1. Then delete Qt 4.6.3 from it, like this: (cd into the new SDK-qt-4.7.1, first)

    del /Q *
    del /Q /S epoc32releasearmv5q* epoc32releasearmv5phonon.*
    rd /Q /S bin include lib mkspecs src
  3. Download and install Qt 4.7 for Symbian
    For Symbian^1 and lower Download Qt 4.7.1 for Symbian and launch the installer.
    Edit: according to a comment, below, for Symbian^3, you need to Download Qt 4.7.0 for Symbian, instead.
    Choose Components step: select Symbian SDKs->Choose additional folder(s). [screen shot]
    Choose Install Location step: select a Destination Folder. I like to use <sdkdir>SymbianSDK-qt-4.7.1qt [screen shot], but you have a free choice as long as you stay on the same drive as the SDK.
    Select Symbian SDK directories step: set the root 1 directory to <sdkdir>SymbianSDK-qt-4.7.1. [screen shot]
  4. Install App TRK and Qt 4.7 on your Symbian device
    App TRK: you can find it under <sdkdir>Symbiansis. Install the one for your S60/Symbian version.
    Qt 4.7 for Symbian^1 and below: Install <sdkdir>SymbianSDK-qt-4.7.1qtqt_installer.sis
    Qt 4.7 for Symbian^3: Lucky owners of a Symbian^3 device can find a developer version of Qt 4.7 here.
  5. Add the new Qt version in Qt Creator
    Open Tools->Options->Qt4->Qt Versions and press on the + button. [screen shot]
    Version name: Your choice. I choose a completely unexpected “Qt for Symbian 4.7.1”.
    qmake location: The qmake.exe which we installed in step 3. In my case: <sdkdir>SymbianSDK-qt-4.7.1qtbinqmake.exe
    S60 SDK: <sdkdir>SymbianSDK-qt-4.7.1
    CSL/GCCE directory: <sdkdir>Symbiangcce, The same gcce version directory which the preinstalled Qt 4.6 for Symbian has.
  6. (Optional) Install a Qt Creator snapshot
    Download a Qt Creator snapshot and install it. Optional, but definitely worth it!

That’s it. Ahrgh, the instructions became longer than planned and look monstrous. But believe me: that it is nothing compared to the official manual setup of a Symbian environment. With the next SDK version, this instruction here will be of course obsolete, and the complete setup will just be a few mouse clicks of work.

Now enjoy your QML creations on Symbian phones! πŸ™‚

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Qt, Qt Quick, S60

34 comments

Francisco Ferreira says:

This is great, but it would greater if you would explain how to install Qt Mobility 1.1.0.

It would be good to know how to make simulator work too, but as far as I know this isn’t easy.

jmmk says:

if you use remote compiler then dontnread thispost

Francisco Ferreira says:

It’s only me that sees text become bigger when there’s comments on a post? When there aren’t comments all is normal, but when there is at least one comment text on lists becames bigger. Other text stays good.

Niko says:

*please* provide official Linux support for Qt on Symbian.

pavel belskiy says:

When Nokia will release the new version of App TRK which would support symbian s60v5 based smartphones such as my Nokia 5800XM with current firmware(v 51.0.006 (.476.02)) ? The thing is, the 51st version of the firmware was released couple of months ago, and there are still no AppTRK for it. When i try to install the latest TRKavailable (s60_5_0_app_trk_3_2_7) i just get an error message saying that my phone/firmware is not supported.
It would be better, if Nokia had released the development tools for their products as early as possible, without making us to wait for several months.

That’s a great news buddy. I’ll test it in my brand-new Linux Box!

midday says:

great! But i am linux user πŸ™

Lucian says:

All this just for QML? Nokia Qt SDK 1.0.2 (that is the latest one, not 1.0) has the Qt Simulator built with Qt 4.7 and therefore has QML support already. And QML is truly cross platform, isn’t it? So if one wants to play with QML, the instructions are much more simple:
1) Start a QML project, run it in native environment using QML Viewer or use the Qt Simulator
2) Install Qt 4.7.x on your phone and then send the QML file over (SIS packaging may be required for Symbian) and then see how it works there.
By the time you are ready to fully engage with QML and get to know the limitations of this approach, there will be an official Qt SDK with proper and complete support for Qt 4.7.x on Symbian, without this setup nightmare. And the above should work for Linux too.

@pavel – TRK bugs can be logged in Carbide.c++’s Bugzilla ( https://xdabug001.ext.nokia.com/bugzilla/ ) or in Qt’s bugreports.qt.nokia.com. If they are logged, they can be fixed. If not … Btw, I have 51.0.006.C02.02 and on this firmware TRK installs and works just fine.

Recluse says:

@pavel belskiy: I have TRK 3.2.7 installed on a Nokia 5800 with firmware v51

@Lucian: Nokia Qt SDK comes with Qt4.6.3. Have you tested this?

aportale says:

Unfortunately, this trick is just valid for Windows users. Linux users among you may try if the remote compiler with experimental Qt 4.7 support does the job for you.

@pavel belskiy: I have even V52.0.007(C01.01) on my XM5800, and the App TRK 3.2.7 runs like a charm, there. I get my App TRK from http://bit.ly/apptrk (but it should be the same as the one shipped in the SDK)

@Lucian: You are right what concerns pure QML apps. One can just install the qmlviever package (altough that is afaik officially only available through the Qt for Symbian installer). Anyways, QML is in advanced cases the visualization layer, and the backend is C++. The new Qt Quick Application wizard in Qt Creator 2.1 creates such hybrid applications which requires the whole tolchain.

Lucian says:

@Recluse Yes, the Qt Simulator is 4.7 based and can play Qt Quick files. It is so because it has to allow simulation of QML for Maemo’s Qt 4.7. So for pure Qt Quick apps this is a possible solution.

@aortale Correct, for advanced use case one needs the full SDK support and interaction with C++. Advanced users can get their hands dirty with it, as long as they know what they do. πŸ˜‰

@aportale Couldn’t this be resolved by providing a Qt Installer for S60 under Linux? Since by downloading Qt for Symbian you get only a windows exe.

I’ll stick to 4.6 for now as SUSE ships that version win 11.3.

aportale says:

@Lucian: Hybrid QML/C++ applications are currently the only way I can think of to deploy QML apps for Symbian. So, even if the developer of a QML app does not actively use c++, (s)he will at least need the full SDK for deployment. Qt Creator 2.1 has a wizard that sets that kind of signable, deployable project up.

@Mattias Cibien: I am not current with the current state of Symbian toolchain support on Linux. Afaik, we want the SDK to install that beast for Linux, one day, but I do not know when that day is. This is the latest labs blog post about it: http://labs.qt.nokia.com/2010/04/21/symbian-development-using-linux/ . And on Anderson Lizardo’s Blog you find: http://lizardo.wordpress.com/2010/10/11/qt-4-7-0-for-symbian-on-linux-now-with-qt-creator-support/

Alexey Korenevsky says:

Note for Symbian^3 N8:
In step 3 you should use Qt 4.7.0_s60 instead of Qt 4.7.1_s60.
http://labs.qt.nokia.com/2010/10/18/qt-4-7-for-symbian3-developer-version-available/ – there is developer version for Symb^3 which is still 4.7.0. If you build app with Qt 4.7.1_s60 you won’t install it on N8.

aportale says:

@Alexey Korenevsky: Thanks for the note. I was not aware of that issue and have no Symbian^3 device to test it right now. So, I added your note to step #3.

Romi says:

Like this..

Dima says:

Hello,
BTW, is there possibility to use Qt Quick for real development as well? If do, could you provide instructions for its installation? thanks!

Arne says:

And do you know when the official release of the SDK will be?
I’m working on an application for symbian and I would really like to test it soon, but I’m using a mac…

Honcho says:

please guys, provide a LINUX version of the symbian stuff or at least _some_ way to get it to work there.
there once was an article here about getting symbian dev stuff to work on linux:
http://labs.qt.nokia.com/2010/04/21/symbian-development-using-linux/
but it seems that a couple files have changed somehow and others have not been updated etc and that therefore that howto doesn’t work any more. πŸ™

as a general note about platform choice among developers, i’d like to point out that while most of us professional devs have one or more windows build+test machines too (simply because most customers and users run windows), many of us prefer to do most of the actual dev work under linux (it would take pages to list the reasons). The funny thing with development for symbian mobile phones is: since the target platform isn’t windows, there’s actually no good reason for us to deal with the disadvantages of windows as a development platform for that… except of course the big bummer, that the Symbian sdk stuff were traditionally only available for windows. You guys would really make a lot of devs happy if you provided a painless way to have a complete Symbian development environment running on linux.

Temirlan says:

hi @aportale, thanks for your efforts!
Why there is no sdk for mobile development at least on windows which works 100 % out of the box ?
I could not launch demo projects in Symbian simulator (like flickr app made with QML). I think Nokia should do something if they want more Qt developers.

Thanks again !!!

XiaMiaoren says:

I suggest that Nokia should develop a compiler to compile QML files so that QML/C applications can run faster.

Mick says:

This is still way too complicated. We need the SDK with Qt 4.7.x and Qt Mobility 1.1.x ASAP. Please sweat as much as possible Nokians πŸ™‚

I also support the request for full Symbian development support under Linux. Windows is just a pain to program in.

Steve Cao says:

Thanks so much to aportale’s tips.BTW,you can test the symbian^3 with the Symbian^3 SDK emulator and I did try it.

jasper says:

Still can’t develop apps using Linux. I’m glad I switched to Android two months ago.

Blanca Huff says:

This is still way too complicated. We need the SDK with Qt 4.7.x and Qt Mobility 1.1.x ASAP. Please sweat as much as possible Nokians πŸ™‚ I also support the request for full Symbian development support under Linux. Windows is just a pain to program in.

Eero Penttinen says:

@Mick, @Blanca: We are sweating in Nokia to make the SDK containing Qt 4.7.x and Qt Mobility 1.1.x released ASAP. Unfortunately, we run into some delays in the SDK creation process, but those delays are not caused by technical reasons, which makes me _extremely_ frustrated knowing the team has been working very hard πŸ™

Gordan says:

Hi,

I’m trying to compile OpenGL ES application, but I’m stuck with “QtOpenGL.dso missing” problem, exactly the same error as if I used Qt-4.6. I receive this error even if I try to compile hellogl_es example.

I thought that QT 4.7.1 fully supports OpenGL (ES) on symbian, am I missing something?

Oskari says:

Hi!

I followed the instructions and I guess I’ve got Mobility 1.1 working too. The one thing I changed that wasn’t in the instructions, was that I renamed the folder mw to middleware as it was in the installation already.

Still the install seems to confuse the linker. I’m getting errors like:
undefined reference to ‘QListData::detatch(int)’
which did not occur earlier.
I updated from 4.6.3 to 4.7.0. Any thougts on how to avoid that confusion?

aportale says:

@Oskari: I get exactly that QListData::detatch(int) linker error if I do not properly clean my duplicated SDK directory (Step 2).

Should I have something preinstalled before I start with Step 1? S60 SDK? ActivePerl? Carbide?

aportale says:

@Michal Straka: The SDK contains an S60 SDK (with updated OpenC), a Perl version (Strawberry Perl instead ActivePerl) and the AppTRK.sis packages (which usually come with Carbide). So, if you intend to do pure Qt development for Symbian you are fine with just the SDK installer. Isn’t that cool! πŸ™‚
If you want more powerful tools and debugging support with the Symbian Emulator, You can also install Carbide.

delor says:

I was able to make sis with this setup (Qt Quick works just fine) but I’m unable to compile while using Qt Mobility.

Roman says:

Hello!
I installed 4.7.1 sdk according to your instruction, but when I trying to build my application for symbian I getting undefined reference to QTMobility::QSystemDeviceInfo::QSystemDeviceInfo(QObject*) and others errors about QTMobility
What it can be?
And how to install QTMobility 1.1.0?

Thank you

Douglas Hoskins says:

Hi

Following your steps I have finally got a QML app running on my N8! One issue however: in your step 3..

Choose Install Location step: select a Destination Folder. I like to use SymbianSDK-qt-4.7.1qt [screen shot], but you have a free choice as long as you stay on the same drive as the SDK.

When I used another folder, it did not work for me. I uninstalled from that folder, deleted it, and reinstalled into SDK-qt-4.7.1qt and all was well.

Douglas

Commenting closed.

Get started today with Qt Download now