Version 7 (modified by bennylp, 17 years ago) (diff)


Developing PJSIP for Symbian S60 3rd Edition using Carbide C++


Previously PJSIP did not support Carbide C++ as the development tools for Symbian target, since Carbide did not import PJSIP's MMP files properly. But with the release of Carbide C++ version 1.2, it seems that Carbide is now able to build PJSIP projects properly. And since it seems that Nokia strongly suggests to use Carbide for the development tools instead of CodeWarrior, it may worth to write some small documentation to help you get started with developing PJSIP applications on Symbian using this tool.


For this tutorial, we will need:

  • Symbian S60 3rd Edition Maintenance Release (MR). Other SDK versions may work, but I did not test it.
  • Carbide C++ version 1.2. You will need the Developer Edition to do on-device debugging (21 days evaluation is available).
  • Nokia PC Suite for the connectivity between the device and your PC (I use version 6.85)
  • Latest PJSIP from SVN trunk
  • Nokia S60 3rd Edition device (I use Nokia E70, but any S60 3rd Edition device should do, I think)
  • Nokia data cable for on-device debugging (you can also use Bluetooth connection, but this tutorial will not cover it)


SDK and Carbide Installations

Follow the installation instructions in the SDK and Carbide documentation. Please install Symbian SDK on the same drive as PJSIP.

Nokia PC Suite

Install PC Suite, connect your device with the USB cable, and make sure your PC can access your device. Leave PC Suite running with the device connected throughout the session.


Checkout PJSIP from the usual location (see PJSIP Download page for details). Fill in your config_site.h with:

#include <pj/config_site_sample.h>

Importing PJSIP Projects

Run Carbide C++. When it asks the workspace location, just accept the default value and press OK button:

You will now be presented with Carbide Welcome page.

Now we need to import PJSIP's project files (the MMP files) into Carbide's workspace.

Select File --> Import from the menu:

This dialog below will pop up. Select Symbian OS Bld.inf file from the list, then press Next button:

On the next dialog, click Browse.. button to select bld.inf file from PJSIP's build.symbian directory, then press Next button:

Then on the SDK selection dialog, select the build configurations that you want to support. For this tutorial, select WINSCW and GCCE from S60 3rd Edition MR SDK, and press Next button:

You will then presented with MMP selection dialog. Leave the default selection (normally it should select all MMPs) and press Next:

The project now is ready to be imported, press the Finish button:

Carbide is now exporting the MMP files into the workspace and this progress window will be displayed:

Wait for the process to complete.

Once it completes, you will see the PJSIP project three on the bottom left part of the Carbide main window:

On the Problems pane (bottom center of the main window) you can see there is one Warning about duplicate path, but we can ignore this for now.

Building the Projects

First select the build target by selecting Project --> Active Build Configuration from main menu, or right clicking the Bld.inf or pjproject item from Symbian Project Navigator pane from the bottom left part of the main window. Select Phone Debug (GCCE) [S60_3rd_MR] from the menu:

Then right click Bld.inf or pjproject item from Symbian Project Navigator pane from the bottom left part of the main window, and select Build Target Only:

Wait for the build process to complete. Once it completes, watch out for any errors in the Problems pane (at the bottom center). There shouldn't be any errors, although there may be few warnings which I think can be ignored, for now:

Attachments (45)

Download all attachments as: .zip