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 ...