Analysis, tutorials and tips for your Nokia and Samsung Phones

Qt for Symbian for Linux and Apple

Published by Richard Bloor at 11:38 BST, July 25th 2010

Hopefully you will have seen Steve’s posting about Lucian Tomuta’s video on using Qt to develop apps for Symbian devices. If, however, your computer runs on Linux or Apple you may have run into a small problem, there is no compiler for Symbian apps on these platforms. But never fear, there is a solution.

Version 1.0 of the Qt SDK came with the quiet release beta of a component called Remote Compiler. Part of the reason for the low profile is that, according to the Forum Nokia wiki, the backend infrastructure is not scaled for production loads. The solution does, however, seem to work well. So, how do you get started?

Remote Compiler is not included in the installation of the Qt SDK by default, when installing you have to select the Custom option, not Full (sic). Then in the Select Components window, open the Experimental APIs option and select Remote Compiler.

Nokia Qt SDk Setup showing options to install Remote Compiler

Once this is done, you complete the installation as normal. If the Qt SDK is already installed, located and run the SDK Maintenance Tool. You will find it in the SDK’s installation folder. Select Remote Compiler from the options and update the SDK.

Usings the SDK Maintenance Tool to add Remote Compiler

When you start (or restart) the Qt SDK don’t dive straight into a project, you need to enable Remote Compiler first. To do this, on the Tools menu click Options. Open Projects and look for the Remote Compiler tab. In the tab, accept the Terms of Service (a link in at the bottom of the dialogue, where it says Review the Terms of Service in the image below). Now you need to authenticate yourself, using your Forum Nokia user name and password — if you don’t have these you need to register on Forum Nokia.

Remote Compiler options

Once authenticated you are ready to create a project. As you create a project you will see Remote Compiler options listed as targets in the project setup.

Project setup showing Remote Compiler targets

When you have created your app and made any changes, you need to setup the compiler. In the Qt SDK click the Projects icon and select Remote Compiler Build. Then select the S60 platform you want to build for.

Remote Compiler build definition

Now it’s simply a case of ensuring the project is set to use the Remote Compiler and then clicking the hammer icon to build the application.

Selecting the build

After a short while a self signed SIS file is delivered to your chosen output directory. You can then transfer the file to your device which, unlike the Nokia N8 Lucian used in his demo, will need the Qt libraries installed first. Unfortunately the necessary files are not included in the SDK (at least not in the Linux version — they are in the Windows version). For a Nokia device you need to download qt_install.sis from the Qt FTP site and install it. For other Symbian devices the correct process would be to install qt_selfsigned.sis and Open C/C++. This is not that simple as Open C/C++ installation file you need is in the Open C/C++ SDK plug-in that is designed for use on a Windows PC! (I’m sure there should be a simple download somewhere – but its eluded me.) A rather untidy solution is to install qt_install.sis (which adds Open C/C++, but errors when trying to install the Qt components) and then qt_selfsigned.sis (for the Qt stuff). The result: Lucian’s demo application running on a Samsung i8910.

Qt Calculatro example on a Samsung i8910

It’s unclear if Remote Compiler is a short term solution, as Symbian is working on a version of its tools for Linux and Mac, or will be included in the Qt SDK long term. Regardless, it does mean that if you use Mac or Linux you can now created and run Qt apps on your Symbian device.

You can find more information on running Remote Compiler in the Forum Nokia wiki article How to install and use the Nokia Qt SDK Remote Compiler.

Categories: How To, Develop
Platforms: Series 60, S60 3rd Edition, S60 5th Edition

Feature Discussion

N/A
Quote:
Originally Posted by Richard_Bloor View Post
Hopefully you will have seen Steve’s posting about Lucian Tomatu’s video on using Qt to develop apps for Symbian devices. If, however, your computer runs on Linux or Apple you may have run into a small problem, there is no compiler for Symbian apps on these platforms. But never fear, there is a solution.

Read on in the full article.
Broken link. Here's a corrected one:

http://www.allaboutsymbian.com/featu..._and_Apple.php

P.S. It is "Tomuta", not "Tomatu" ;)
tsuro
Hi,

I am one of the developers on the Raptor build system that works on Linux and Windows. It is being used for both ^3 and ^4 and the older abld system is deprecated on these platforms.

Raptor itself actually started life on Linux (beating Windows support by a few weeks) and it has potential to work on the Mac as well. Some work has been put into Mac support by people who have them but we haven't got all their fixes backl yet and as my team and I don't have access to any macs we haven't been able to truly sort it out. I think we might be able to do something with a virtual machine and a copy of Darwin (the basis of MacOS X).

It offers support for the RVCT and GCCE compilers. Although the OS itself has some issues being compiled with GCCE, anyone building an application against an SDK will probably be able to make it work.

What is lacking at the moment on linux (and the mac effectively) is
1) A couple of the important tools but the hacks that have been done to make these work for some people are slowly becoming proper fixes.
2) Some of the testing and glue that makes Qt work.

Qt is a bit of a problem for a build system (a very worthwhile problem of course!) because it generates code and it also has its own project file format (.pro) which has to be used to generate the inputs to the "actual" build system. e.g. on linux .pro files are converted into makefiles and then GNU make builds them whereas on Symbian it generates BLD.INF and MMP files and Raptor uses those.

On linux there is some tidying up to do to get qmake to generate "good, linux compatible" BLD.INFs and MMPs. AFAICS it is all minor stuff.

Some better information is available here;

http://developer.symbian.org/wiki/in...n_Ubuntu_Linux


There is an even better page and I can't find the darn thing! Anyhow I'll post it tomorrow if I remember to,
Richard_Bloor
Quote:
Originally Posted by N/A View Post
Broken link.
- The one in the comment thread fixed - other seem OK.

Quote:
Originally Posted by N/A View Post
P.S. It is "Tomuta", not "Tomatu" ;)
- indeed it is (sorry Lucian)
Richard_Bloor
Thanks for the insight tsuro.

Quote:
Originally Posted by tsuro View Post
Some better information is available here;

http://developer.symbian.org/wiki/in...n_Ubuntu_Linux
For those interested it's probably also worth following Paul Beusterien’s blog on Symbian.

4 Comments / Post New Comment

Copyright Notes || Contact Us || Privacy Policy (Ellie)