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:
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:
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.
Running the Project
Now, you have your project successfully created and ready to run. After building it, you eventually want to debug it to see what’s going on in your code. The Carbide IDE gives you a rich tool to create and manage different Debug and Release configurations:
There, you may specify various program arguments, environment variables, exceptions to catch, and much more. Saving those configurations allows you to use them later as required. This is quite a convenient feature when you want to keep several environments with different parameters; for example, to debug different application behavior.
When the debugger is started, Carbide provides all standard debug properties you’re used to seeing in IDE: variables, breakpoints, console, and so forth. Try it and see!
And finally, let me show you a screenshot of your HelloWorld program:
Becaise it doesn’t have any GUI, you won’t see it immediately on the phone or emulator. Start the shell and run it manually. Enjoy!
This article briefly guided you on new the IDE for Symbian OS developement. The author believes that the documentation that comes with Carbide is worth reading; you can find all required details there. I had no intention to discuss Symbian OS programming itself, but maybe I’ll do it in the future. With more tools coming, the Symbian OS application development process gets more and more enjoyable.
About the Author
Alex Gusev started to play with mainframes at the end of the 1980s, using Pascal and REXX, but soon switched to C/C++ and Java on different platforms. When mobile PDAs seriously rose their heads in the IT market, Alex did it too. After working almost a decade for an international retail software company as a team leader of the Windows Mobile R department, he has decided to dive into Symbian OS development.