A common complaint about tools for Symbian C++ development has been the lack
of a free offering. With the release of Carbide.c++ Express that complaint seems to have been addressed. In this first of a
series of articles, Richard Bloor looks at the capabilities of Carbide.c++.
Carbide.c++ is an integrated development environment (IDE) based on the Eclipse IDE.
Eclipse is well known to Java developers, where it is one of the leading open
source Java development tools. In fact, Eclipse its self is written in Java. From
its Java roots Eclipse has progressed far beyond a Java IDE, with support for
other languages and other application development processes.
Nokia's reasons for picking Eclipse for its Symbian C++ tools are various. The
IDE is familiar to many developers, it is open source, it has strong support from
the industry, and its architecture is designed to enable expansion and customization.
For the student, open source, or non-commercial developer its "free" status means
Nokia can offer the first no-cost option for Symbian OS C++ development.
For the absolute beginner the first job is to download Carbide.c++ Express from Forum Nokia and then pick an S60 or UIQ SDK to work with. In this case we have chosen the S60 3rd Edition SDK, mainly
because it has the most complex build requirements, although this hardly matters
in Carbide.c++ as we shall see.
Carbide.c++ installs simply enough, as do the S60 or UIQ SDKs. Once installed the first
thing that needs to be done is to create a workspace for storing application projects.

Carbide.c++ does nothing to restrict where its workspace can be created, but beware.
Some of the Symbian build tools have a significant deficiency; they work correctly
only if the application under development is on the same drive as the tools, which
in a practical sense means the drive the target SDK was installed on. Any seasoned
Symbian developer will undoubtedly remember this. However, given that one of the
roles of Carbide.c++ Express is to provide new developers with an entry into Symbian OS development,
it is unfortunate that Carbide.c++ does not help prevent problems in this area. If a workspace on another drive
is selected issues will not occur until the application is built for a device.
Having created a workspace the next step is to create an application project.
Carbide.c++ comes with a range of templates for both applications and DLLs. Even though
Carbide.c++ is a Nokia product, these templates include UIQ; although the number of
templates is limited compared to S60 or Series 80.
From the New menu there are three options for creating a project from a template,
one limited to UIQ projects, one to S60 projects and one for all projects, which
includes Series 80.

The first step after selecting the project type is to name it and select a workspace,
other than the default if desired.

Then select the template on which the project is to be based. There are several
options for S60 2nd Edition applications, but just one for S60 3rd Edition.

The next step is to select the SDKs the application will be built for. S60 3rd
Edition is straightforward, as there is currently only one SDK. For S60 2nd Edition
there could be several possible SDKs to build against, depending on what SDKs
are installed. The valid targets can also be selected. Again this may seem odd
for the 3rd Edition SDK, which only offers an emulator and phone build, but other
SDKs offer more options. In addition, developers working with 3rd Edition who
have the ARM RealView Compiler Tools (RVCT) installed, would get three options
(or at least they will when the Developer and Professional editions become available,
as Express does not support RVCT).

Next the application UID, author and copyright notice are entered.

This is followed by a dialog that allows the source folders for various project
components to be defined. Usually these assignments can simply be accepted.

Then Finish builds the project from the template.

This template is a fully working, if somewhat minimal Hello World application,
so it is now possible to first build and then run it in the emulator. To build
the application all that needs to be done is to select the build option from the
main or project shortcut menu.

The build process is accompanied by a progress dialog and can also be followed
in the console window.


Once this has been done the application can be run in its target emulator. To
do this the Run Symbian OS Application option is selected from the Run As item
on the main Run menu or the project's shortcut menu.

This automatically starts the emulator.

In the 3rd Edition emulator the HelloSymbianOne application has been installed
in the "Installat." Folder, from where it can be selected and run.

Carbide.c++ has encapsulated the entire Symbian application build process into a few
simple commands. While complex applications will require the modification of various
build parameters and associated project files, Carbide.c++ has done a good job of hiding the complexity of the Symbian build process,
so it no longer requires a concerted effort to master.
The next process step is to create the application as a signed package for installation
on a 3rd Edition device, which we will look at in the third part of this tutorial.
The next article will review the project structure and components for an S60 3rd
Edition application.
Possibly Related:
|