You Are Here:

Open C/C++

Contact Us

We encourage you to give us feedback about development topics and other matters related to this web site.

Submit feedback
Community Highlights

Wiki article of the week

How to use USB cable connection in Java ME

Champion of the month

Forum Nokia Champion Jim Gilmour
Read more about Jim on the Champions website.


Forum Nokia Events

MobileMonday — Dallas
February 15, 2010
Dallas

Mobile World Congress
February 15, 2010
Barcelona, Spain

WIPJAM@MWC
February 18, 2010
Barcelona, Spain

Building Maemo and Symbian apps using Qt Creator (Session 1)
February 22, 2010
2 p.m. London, 4 p.m. Helsinki

Building Maemo and Symbian apps using Qt Creator (Session 2 - In Portuguese)
February 24, 2010
11 a.m. New York, 1 p.m. Sao Paolo, 3 p.m. Azores


View all

Create rich application engines and middleware for Symbian using your C/C++ PC-programming skills.

With the availability of Open C/C++, Symbian — the world’s most popular smartphone platform — many developers familiar with standard C/C++ for desktop development can contribute their code to Symbian applications.

Delivering an extensive range of standard C and C++ APIs, this technology is ideal for porting PC applications to Symbian devices, as well as creating application engines and middleware.

Note: C/C++ developers may wish to consider using Qt to deliver their mobile applications. For more information, see the Qt technology page.


What are the benefits?

The APIs delivered in Open C/C++ make it easy to port existing PC software to Symbian, allowing developers to leverage their investment in code and development-skills to take advantage of the growing market for Symbian applications. The APIs also help developers who lack knowledge of the Symbian OS and Nokia S60 on Symbian OS APIs to contribute application engines and middleware to new Symbian application projects.

It's important to note that using the Open C/C++ APIs doesn't put developers at a disadvantage: The performance characteristics closely match those of similar native Symbian APIs.

Open C/C++ in the Symbian architecture

What API libraries does Open C/C++ deliver?

The libraries provided by Open C/C++ include:

What tools are available?

To enable the creation of Open C/C++ software, Forum Nokia provides the Open C/C++ Plug-in. This plug-in installs into any Symbian OS, 3.x or Symbian OS, S60 5.0 SDK. The plug-in delivers the headers and libraries that enable application development and testing of Open C/C++ software on a PC, S60 device installation files that provide the DLLs to enable the execution of software on devices, example applications, and comprehensive documentation of the APIs.

Download the Open C/C++ Plug-in »

How do I get started with Open C/C++ development?

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

To start, you’ll need to install an S60 3rd Edition for Symbian OS for C++ or later SDK and then add the Open C/C++ Plug-in to that installation. To do this, you’ll require the hardware and software necessary for the installation of your chosen Symbian SDK, as well as an additional 109 MB of disk space for the plug-in.

Once the Open C/C++ Plug-in has been installed, you can access the Open C/C++ for Symbian devices installation files, documentation, and example applications.

For more information, visit the Getting started with Open C or Getting started with The Standard C++ Library sections of the S60 5th Edition C++ Developer's Library.

What are the limitations of Open C/C++?

Open C/C++ doesn't provide standard C/C++ APIs for the Nokia S60 on Symbian UI or the Nokia S60 on Symbian application engines, such as calendar, contacts, and messaging applications. To build applications with a standard Symbian look and feel, developers have the options to use Qt, Nokia S60 on Symbian APIs or employ Python for S60. Similarly, to access the standard Nokia S60 on Symbian application engines, Symbian and Nokia S60 on Symbian APIs will be required. Note: In 2010 a number of APIs from the Qt Mobility Project will provide an cross–platform alternative to accessing the most commonly used Nokia S60 on Symbian application engines. For more information, see the Qt technology page.

What's happening to RGA?

With the release of Open C/C++ 1.6, the Real-Time Graphics and Audio (RGA) API is no longer supported. Developers who want standard APIs for graphics should investigate the OpenGL ES APIs provided in Nokia S60 on Symbian. For UI development using non-Symbian APIs, developers may wish to explore Qt.

On which Nokia devices can I run Open C/C++ software?

Middleware and applications with Open C/C++ engines can be run on all Symbian OS, S60 5.0 devices and Symbian OS, S60 3.x devices. Devices based on Symbian OS, S60 3.2 have the Open C APIs delivered in their firmware, and devices based on Symbian OS, S60 5.0 include the Open C/C++ APIs. The Open C/C++ Plug-in includes Symbian installation files to add or update Open C/C++ 1.6 support on all Symbian OS, S60 5.0 devices and Symbian OS, S60 3.x devices.

See specifications for Symbian OS, S60 3.x devices here »
See specifications for Symbian OS, S60 5.0 devices here »



Feedback

You can provide feedback about content on this page here

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