¤¤¤ ¤¤¤ 3. The Hello World Program ¤¤¤ ¤¤¤

The first step is to look at a "simple" example. Locate the directory Series60Ex\helloworldbasic and take a look at the directory structure.

¤¤¤ Directories ¤¤¤

When developing new Symbian applications you will normally chose the same structure as listed below. The fastest way to develop new Symbian applications is actually to find the example that resembles your application the most and copy that to a new directory

aif: This directory stores all the information and graphic related to your applications icon.
group: This is one of the most important directories. It contains the file with the extension mmp. See below.
data: This directory contains the applications resources. That is e.g. the application's menus and dialog boxes.
inc: This directory mainly contains the header files for your classes.
sis: This directory contains a pkg file that describes how to package your application into a sis file before deploying it to the phone. The sis file is also normally stored in this directory.
src: This directory stores the .cpp files for the project

¤¤¤ Common File Types ¤¤¤

There exists a large number of file extensions when developing applications for Symbian in C++. When you think you have seen them all some new extensions pops up. Here is some of the most common file types.

.mmp: Describes your project: Which classes your application use, which libraries to include, which resources to implement and more.
.cpp: Contains the class definitions for your application.
.h: Contains the class declarations for your application.
.rss: A resource file, which describes e.g. how the menus appear.
.pkg: A file that describes which files to include in the sis file.
.sis: A sis file resembles a zip file and contains all the data that need for the application to run on the phone.

¤¤¤ Understanding the Hello World - mmp file ¤¤¤

The following code is the mmp file from the HelloWorld.

TARGET HelloWorldBasic.app <- The name of the application
TARGETTYPE app <- This is an application

UID 0x100039CE 0x10005B91 <- An unique ID for the application
TARGETPATH \system\apps\helloworldbasic <- The main directory for the application

SOURCEPATH ..\src <- Where to find the source code
SOURCE HelloWorldBasic.cpp
SOURCE HelloWorldBasicApplication.cpp
SOURCE HelloWorldBasicAppView.cpp
SOURCE HelloWorldBasicAppUi.cpp
SOURCE HelloWorldBasicDocument.cpp

SOURCEPATH ..\data <- Where to find the resources
RESOURCE HelloWorldBasic.rss
RESOURCE HelloWorldBasic_caption.rss

USERINCLUDE ..\inc <- Where to look for header files

SYSTEMINCLUDE \epoc32\include <- Where to look for System files

LIBRARY euser.lib <- Which libraries to include
LIBRARY apparc.lib - if you get a link error you probably forgot one or more libraries -
LIBRARY cone.lib
LIBRARY eikcore.lib
LIBRARY avkon.lib
LIBRARY commonengine.lib

¤¤¤ Understanding the Hello World - the classes ¤¤¤

The HelloWorldBasic contains four classes and an entry point file. The above figure shows the classes.


Where to go from here: The next page will point you in the direction of some valuable resources useful if you want to understand how Symbian program works Basic Concepts >>