Chapter 10. Porting a Simple Application

Engineers like to solve problems. If there are no problems handily available, they will create their own problems.


This chapter provides an example of the porting process described in Chapter 2 applied to a complete working application with a user interface. Full source code for this example project can be found on the book's wiki page at

Since the most portable UI toolkit available for smartphones is Qt, I restrict the project selection to projects which make use of it. I also introduce the workflow, tools and build files involved in a typical Qt-based project on the Symbian platform. At the end of the chapter, I describe how to extend the port to use mobile-specific controls via native Symbian C++ APIs.

By the time you've read this chapter, you should understand:

  • how to use Qt on the Symbian platform

  • how Qt integrates with the Symbian build process

  • how to manage platform-specific extensions in a cross-platform project

  • how portable a well-written Qt project can be.

Selecting a Project

The more portable the code you are working with, the less the effort required to get something working on a new platform. This makes it possible to use a much more complex and functional example than the typical 'Hello World' application that you find in most introductory examples.

In the rather artificial situation of choosing a project for a simple porting example, I have the primary requirement ...

Get Porting to the Symbian Platform: Open Mobile Development in C/C++ now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.