You Are Here:

Open C/C++ QuickStart

Register Today

Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.

Register Login
Community Highlights

Innovation Series Videos highlighting Forum Nokia developers

Wiki article of the week

Java Porting

Champion of the month

Felipe Andrade
Read more about Felipe on the Champions website.


Forum Nokia Events

Ovi Store Publisher Reporting
July 08, 2009
9 a.m. New York, 2 p.m. London, 4 p.m. Helsinki

Ovi Store Publisher Reporting
July 08, 2009
11 a.m. San Francisco, 2 p.m. New York

Nokia World 09
September 02, 2009
Stuttgart, Germany

Adobe MAX 2009
October 04, 2009
Los Angeles

International CTIA WIRELESS I.T. & Entertainment 2009
October 06, 2009
San Diego, California


View all

Open C/C++ — Leverage your C or C++ computer-programming skills for S60 devices


Multimedia application with UPnP stack port from Wipro

The Open C/C++ Plug-in provides you with a comprehensive range of standard C and C++ APIs. Even if you have limited or no experience with Symbian C++ development, you’ll find that Open C/C++ makes it easy for you to create middleware and application engines for S60 devices.

The Open C/C++ libraries provide a Linux-like, vendor-neutral C/C++-programming interface to several core functions of S60 devices.

Benefits of using Open C/C++

Open C/C++ provides familiar standard C and C++ libraries that enable the reuse of existing code so that you can focus development efforts on maximising the unique aspects of mobility within applications. By reducing the effort required to port existing components (for example, open source software and PC applications) to the S60 platform, Open C/C++ lets you make use of your PC application and open source code. Because you don’t have to create S60 C++ code from scratch, you benefit with both time-to-market and quality advantages.

What you should already know

To make use of the Open C/C++ Plug-in, you should already have an understanding of development using standard C/C++ libraries. No specific understanding of the Symbian C++ and S60 APIs is required unless you wish to use the S60 APIs to build a standard S60 user interface for your application. An understanding of the Symbian OS build tools is necessary to package any applications or middleware based on Open C/C++ for deployment to an S60 device.

Start here

Before you begin writing code, take the opportunity to get an overview by reading the document Open C for S60: Increasing Developer Productivity. This white paper describes how Open C increases your efficiency in developing products based on Symbian OS, allowing you to draw on existing code and components as parts of development projects.

And if you haven't already done so, read the Open C/C++ technology page.

Play with the tools

Two versions of the Open C/C++ Plug-in are available: Open C/C++ Plug-in 1.0 works with S60 3rd Edition SDKs and devices, and Open C/C++ Plug-in 1.5 Beta provides additional support for S60 5th Edition SDKs and devices. Both plug-ins include the Open C and Open C++ headers and libraries that enable application development and testing on a PC, as well as SIS files for S60 devices that enable the execution of software. The plug-ins also include example applications and comprehensive documentation of the APIs.

Note that Open C is integrated into S60 3rd Edition, Feature Pack 2, and Open C and Open C++ are integrated into S60 5th Edition. However, you may want to update the SDKs and devices with the new plug-ins and DLLs.

Get the development tools

You’ll need the hardware and software necessary for the installation of your chosen S60 SDK, as well as up to 109 MB of additional disk space for the plug-in.

Once you've installed the SDK plug-in, you can access the Open C/C++ S60 device DLL installation files, documentation, and example applications.

Development with Open C/C++ can be undertaken at the command line or by using Carbide.c++.

Create an Open C/C++ project

At this point, you don't need to program anything — you simply need to become familiar with the development process and tools by building and running one of the Open C/C++ example applications.

Watch the Getting Started with Open C video, which provides an introduction to the tools and processes for using Open C. The video starts by showing how to download and install the plug-in. (Note that the current Open C/C++ plug-ins provide an installer so there's no need to manually extract the contents to the SDK root directory.) The video next illustrates how to use Carbide.c++ and the process of importing, building, and running an application that uses Open C. Finally, the video demonstrates how to create a device build of the application and how to install Open C DLLs and the application on a device.

Open C/C++ applications are supported on all S60 3rd Edition and later devices. However, any device you choose needs to have the DLLs installed.

Begin studying Open C/C++ programming

What is Open C?

Open C is a set of standard C libraries that provide a vendor-neutral (or Linux- and Unix-like) C programming interface to certain core functionality of the S60 platform. The Open C libraries are based on P.I.P.S. is POSIX on Symbian OS (P.I.P.S.), with five additional open source C libraries. The C libraries in Open C are libc, libcrypt, libcrypto, libdl, libglib, libm, libthread, libssl, and libz.

For more information, visit the Open C/C++ features page.

What is Open C++?

Open C++ is a set of standard C++ libraries that provide a vendor-neutral (or Linux- and Unix-like) C++ programming interface to certain core functionality of the S60 platform. The libraries include IOStreams, STL, and Boost.

For more information, visit the Open C/C++ features page.

Learn how to port existing code to the S60 platform

  • Watch Porting to S60 Using Open C, an e-learning module that provides the basic knowledge and skills needed for using Open C to port C code to the S60 platform. The module is intended for developers who have little or no knowledge of Symbian OS but do have some experience using POSIX/GLIB APIs on other platforms. In addition to the main presentation, this e-learning module also provides a practical demonstration of porting C code to an S60 3rd Edition DLL. The demonstration starts with some existing C code, which uses the GLIB libraries, and shows how to port it step by step to the S60 platform.
  • Also, for information on how to produce better-quality code, read the article Tips for Selecting Open Source Code for an Open C Project.

Learn how to develop a graphical user interface

Note that there are no UI libraries for Open C/C++. However, you can create a GUI using Symbian C++ and S60 C++ APIs, Python for S60 (a scripting language mainly targeted at prototyping), or Qt for S60. Please note that Qt for S60 is a technology preview version that is not yet designed for commercial applications. The development of hybrid applications is described in the S60 Open C API documentation.

You should also take a look at the Open C code examples (published on the Open C documents and code examples page), several of which include code for a GUI. Each example provides porting notes as well.

Short cuts to development resources

Scan through the documentation

Open C/C++ documents, code examples, videos, and webinars
Open C/C++ articles in the Forum Nokia Wiki
Open C/C++ technical solutions and known issues in the Forum Nokia Knowledge Base

Discuss with your peers

Open C/C++ discussion

Want to make money with it?

From a sales and distribution perspective, applications and middleware created with the Open C/C++ APIs are essentially the same as applications written using the native Symbian OS and S60 APIs.

Before you try to market any software built using Open C/C++, you should consider securing Symbian Signed certification for your application. Symbian Signed certification assures sales channels and mobile consumers that an application has achieved a high level of quality and comes from a reliable source. As such, Symbian Signed opens up sales channels and makes applications more appealing to mobile consumers.

Read more about the Symbian Signed program

Forum Nokia Open C/C++ plug-ins go-to-market links:

Find a Business Partner
Nokia Channels

Rate This

Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditFurlTechnocratiMagnoliaTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
RDF Facets: qdcZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ qdcZtypeQUqfnTypeZE52esourceQ qdcZtypeQUqfnTypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqrdfsZE52esourceQ qfnZdistributionQUxhttpE3AE2FE2FforumE2EnokiaE2EcomE2FX qfnZtypeQUqfnTypeZE52esourceQ qfnZtypeQUqfnTypeZWebpageQ qmarsZlanguageQUxhttpE3AE2FE2FswE2EnokiaE2EcomE2FlanguageE2D1E2FenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ qrdfZtypeQUqfnTypeZE52esourceQ qrdfZtypeQUqfnTypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ