Building Series 60 Applications with Visual Studio .NET

There is a nice article on NewLC about getting started building Series 60 apps. My target platform is the Nokia 6620. This phone runs Symbian OS v7.0s, so I downloaded from Forum Nokia. The tutorial on NewLC, I believe, is targeted at the use of Visual Studio 6.0. I am using VS .NET, so things were slightly different.

One of the most important, the vsvars32.bat is in a new location: C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools. You must run that batch file first in any command line window you wish to use to do development. It sets up paths and other environment variables.

Then it’s just:

bldmake bldfiles
abld build thumb urel

…and you should have a .APP file in some cryptic path. For me it was: C:\Symbian\7.0s\Series60_v21\Epoc32\release\thumb\urel.

At this point I tried sending the .APP to the phone via Bluetooth, but it failed with the error: Messaging: Unable to execute file for security reasons, an unpleasant message.

To make the phone happy, one must make a .SIS file from the .APP file.
I know of two tools which do this: makesis and sisar.

Here’s what NewLC has to say about makesis.

In my opinion, the Symbian ABLD build system is the worst one I’ve ever seen.



Isn’t too bad, thanks to Sun’s Tutorial. Also take note of Apache Ant’s javah task.

I did my development on Debian Linux, while the tutorial targets Solaris, Windows, and OS X. This was only a problem for creating the shared library. Here are the compilation and link commands I used, respectively:

gcc -g -Wall -I/usr/local/java/include/ -I/usr/local/java/include/linux -c HelloWorldImp.c
gcc -shared -Wl,-soname, -o HelloWorldImp.o -lc