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 qt-mobility-symbian-1.1.0-epoc32-symbian3.zip 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:
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