Setting up Qt Mobility with QtCreator

Ok, so this is a rough and ready guide, no links etc. as I can’t be bothered and this info will be out of date with the next Nokia Qt SDK release (which will be 4.71/ 1.1 by default). It should be enough to get you going.

The goal here is to be able to write apps using Qt Mobility 1.1 – in particular the camera API. There are a few issues here.

Prepare your N8

You need to install the Qt 4.7 developer preview, and the Qt Mobility 1.1 release

Set up your development environment

I’m doing this on windows, both in an XP VM under OSX and win 7.

Install the Nokia Qt SDK for symbian. To be clear here, I mean this one:

So you have a symbian toolchain.

You can now create Qt 4.6.3 apps for symbian.

Next get the qt-mobility-symbian-opensource-1.1.0 archive and extract it (note this is the version with symbian binaries).

Then, assuming we’re going N8 here, within this archive extract In here you should have an “epoc32” folder. Copy this contents of this into your symbian SDK. If you installed the Nokia Qt SDK to C:\NokiaQtSDK then you need to copy into C:\NokiaQtSDK\Symbian\SDK\epoc32\ – overwrite the files you replace.

Now, from the qt-mobility-symbian-opensource-1.1.0 archive copy /features/mobility.prf.template to C:\NokiaQtSDK\Symbian\SDK/mkspecs/features/mobility.prf


We should now be able to compile QtM examples. Lets check with the camera example in the qt mobility archive.

Load it up in Qt Creator, set the target as Qt for Symbian Devices.

Firstly go to the project .pro file and reduce the capabilities from ReadDeviceData/WriteDeviceData to ReadUserData/WriteUserData – this will allow it to self-sign, and is all that’s needed. Without this it won’t work deploying using TRK, and will give you an error installing any other way (unless you use open-signing, a hassle).

I’m going to assume you know how to setup TRK (install the sis files with the SDK basically, or there are guides elsewhere). Alternatively you can just copy the file to the device manually.

Now, check the target is set to Symbian Device, click compile (the hammer in the bottom left) and it should compile fine. Copy the sis to the device to test, or click the green arrow to run if you have trk etc setup.

It should run!

But I want to use QtM 1.1 with Qt 4.7.1 how do I do that?

Glad you asked, I know this one too! For this you need: libraries

But why S60 5th SDK you ask, not symbian^3? cos the Qt 4.7.1 binaries are compiled against that, not the s^3 one, and it’ll work fine anyway. Plus stuff you write will run on 5th ed. You get odd build errors if you try to make it go with s^3 sdk.

Install the SDK first, then qt 4.7.1 libraries, during installation it lets you select an SDK, select the s60 5th one.

Repeat the above steps to install the QtM epoc (s60 5th dir this time) and the

mobility.prf (into the qt 4.7.1 dir this time). Now restart Qt creator, go to the options menu. You should now see the Qt 4.7.1 configuration there. Copy/paste in the GCCE path from the previous working setup.

Go back to your example, click project, add the new build target. You can now build and run your application against Qt 4.7.1 and QtM 1.1


3 Responses to “Setting up Qt Mobility with QtCreator”

  1. We have an update to our Pixelpipe Share Online app that supports automatic uploading from Lapsed captures. This would be useful if you want to “life cast” your photos however could also be used to move the captures to online storage like Dropbox or an FTP site.

    If you’d like a copy just send us your IMEI to & we’ll add you to our dev cert

  2. Oops, posted to the wrong article. I’ll move it over, please feel free to delete this one

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: