August 8, 2020
Hot Topics:

Carbide Your Mobile Application

  • By Alex Gusev
  • Send Email »
  • More Articles »

There is no need to discuss what we all know: Having a smart and convenient tool for application development allows us to focus on a programming task instead of passing through various surrounding issues. If you code in C++ for Symbian OS, the MS Visual Studio and CodeWarrior IDEs were the only option for a relatively long time. Now, this is significantly changed with the appearance of Carbide's set of tools. Nokia offers this package for C++ and Java developers on Symbian OS platform. You may select from:

  • Carbide.c++ to develop in an Eclipse-based IDE
  • Carbide.vs if you prefer a MS Visual Studio interface
  • Carbide.j to develop Java ME applications

The first two IDEs allow development for S60, S80, and UIQ. The latter may be used to create applications for S40, S60, and S80. Other tools are to be announced in the future.

This article will focus on C++ development (forgive the author for his love to C++). As you may guess, Carbide.c++ comes in several editions: Express, Developer, and Professional. You may find more details regarding each one at the Nokia site. The most important difference is that the Express edition is totally free, so you can obtain a fully integrated Symbian OS C++ IDE without any additional charge. All Carbide tools are based on Eclipse; if you are familiar with that sort of thing, you will find it a quite comfortable, open, and extensible environment.

The next sections will briefly overview what you need to get started with Carbide.


Before you start, you should see what you need if you have decided to go ahead with Carbide. First of all, you will need to install some Perl engine. The Symbian OS dev stuff uses Perl extensively, so be prepared. You can download it from here. The next obvious thing is SDKs you'll need to develop. They are available from the Nokia and UIQ sites. They both have phone emulators, but Nokia's is terribly slow!

After everything is downloaded and installed, you can configure your system a bit by setting the EPOCROOT environment variable. A common practice is to set it as follows:


and define a dedicated drive letter for the specific SDK, like this:

subst U: c:Symbian^18Symbian19^

Setting EPOCROOT to the drive's root allows you to have multiple SDKs installed on different drives, so you will be able to build against them easily without making any changes in your environment.

Carbide.c++ IDE: At First Glance

After all these introductions, you can start Carbide-izing. One of the first screens you will see is Welcome:

Click here for a larger image.

Carbide comes with a nice Help system, so you can quickly start playing with the tool. You begin your tour by creating the famous "Hello, World!" console application.

This said, "File/New" leads you to the project creation wizard. Select "Symbian OS C++ Project," "Basic Console Application," and the desired SDK:

I'll skip a number of simple steps here. Finally, you get the simplest app to work on:

Click here for a larger image.

You may see that Carbide offers several so-called "perspectives;"in other words, sets of windows in the IDE to make your development process more convenient and effective. The next figure shows the standard ones:

You can create a custom perspective if you want to save it for futher use. There also are number of useful wizards that allow you performing various tasks; for example, a new class creation:

Among available functionality of Carbide IDE, I'd like to highlight File/Import option. You can reuse your MMP or INF project files created earlier with CodeWarrior for Symbian OS IDE. It is just a matter of several clicks!

Carbide has many other amazing features, but I leave all them for your experimenting. Now, you can turn to building and debugging your simple program.

Page 1 of 2

This article was originally published on August 21, 2006

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date