Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Revision as of 05:27, 22 October 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

S60 3rd SDK For Symbian OS, Supporting Feature Pack 1, For C++

From Wiki
Jump to: navigation, search
Article Metadata
Created: ilari.saukkonen (18 Jun 2007)
Last edited: hamishwillee (22 Oct 2012)



The S60 SDK for Symbian OS enables application development for devices based on S60 platform using C++. The SDK is based on S60 3rd Edition, supporting Feature Pack 1 and Symbian OS 9.2. The SDK includes all key functionalities needed for application development (documentation, API reference, emulator) excluding IDE.

Binary compatibility for APIs introduced in S60 3rd Edition is maintained in this SDK unless otherwise stated below.

SDK Features Supported

  • This product requires free registration after 14 days of use.
  • Emulator for debugging applications.
  • Building tools and environment for emulator (WINSCW UDEB).
  • Building tools and environment for terminal deployment (GCCE, RVCT).
  • Symbian and S60 platform documentation, as specified below:
    • Help
    • Installation Guide
    • API set documentation
    • Platform security documentation including description of the modified development process
  • S60 Tools including:
    • SimPSY, including tool for generating simulated locations
    • Svg2Svgt for converting SVG images to SVG-T format
    • Task Manager
    • Http Monitoring
    • System Event Generator
    • Emulator Configuration Tool
    • Command Line Interface for mobile content developers
    • Remote Logging API (REcmt)
  • Support for CodeWarrior version 3.1 for Symbian OS.
  • Support for Carbide.c++.
  • Emulator TCP/IP support using Winsock.
  • Ecmt bearer now also supports USB and WLAN connectivity methods.

New Features

See What's New in SDK documentation for a list of new features and APIs.

New Example Applications

  • Animation
  • Client/Server (asynchronous)
  • Client/Server (synchronous)
  • Contacts DB Example
  • Content Listing Framework Example
  • DriveInfo
  • Focusevent
  • Graphics
  • GuiEngine
  • Editor
  • MultiViews
  • Note Example
  • Optical Character Recognition Example
  • OpenGLEx/Bumpmap
  • OpenGLEx/FloatingDuck
  • OpenGLEx/MipMapping
  • OpenGLEx/Particles
  • OpenGLEx/Slideshow
  • Popup Field Example
  • Popup List Example
  • ProgressBar
  • Query Example

System Requirements

Basic Requirements

  • Microsoft Windows XP SP2 or Microsoft Windows 2000 SP4 Tested with Windows XP SP2.
  • IDE: CodeWarrior for Symbian OS v3.1 or Carbide.c++
  • ARM RVCT compiler 2.2 build 503 or newer is supported.
 (Version 3.0 is not supported by SDK toolchain)
  • Minimum 1 GHz Pentium PC, 512 MB of memory
  • Up to 1.5 GB free disk space, other requirements as required by the IDE used.

Additional Requirements

  • Using the SDK requires local admin rights.
  • Active Perl 5.6.1 build 631 for SDK build tools. Newer or older versions of Perl may not be fully compatible with Symbian toolchain. Perl must be installed before using the SDK to build applications.
  • Java Runtime version 1.5.0_06 is required.
  • Casira hardware is required for Bluetooth connectivity emulation.

Known Issues and Deficiencies in this SDK Release

Build Tools

  • ARMV5_ABIV2 target is not supported. Use ARMV5 instead.
  • Mifconv occasionally crashes in some dual core CPU environments.
  • Codewarrior cannot handle multilocale applications correctly. Resources are built only for one locale. Use command line build tools to generate required resource files.
  • MMP option to suppress warnings has no effect on linker-generated warnings.
  • Cannot make the .sis file when .pkg file name has non-Latin (e.g. Chinese, Japanese, Thai) characters.
  • Bldmake plat may fail if Visual C++ is not available.
  • If SecureID is separately defined in the .mmp file, the GCCE toolchain may produce a wrong SecureID for the application. Use command "petran -dump s project.exe" to check the generated SecureID.
 Workaround:  Run "bldmake bldfiles".  
 Locate "elf2e32" commands and edit "-sid" parameters, if wrong securid is set. 
 Run "abld build gcce urel" to build application.
  • When private key has an assigned password, signsis will not work unless password is given on the commandline.
  • Emulator freezes if files are deployed into \private\10003a3f\import\apps. Therefore, it is recommended to use following template to define _reg.rss resources in the .mmp file:
 START RESOURCE HelloWorldBasic_reg.rss
 #ifdef WINSCW
 TARGETPATH \private\10003a3f\apps
 TARGETPATH \private\10003a3f\import\apps
 #endif END //RESOURCE


  • It is recommended to install the SDK to the recommended default location.
  • Installation to non-default folder creates extra folders to the C: drive.
  • SDK uninstall does not remove SDK entries from installationRegistry.xml.

S60 Tools

  • NMIT and NDS for MMS integration has issues that occassionally block incoming messages. Resending the message usually fixes the problem.
  • WML, XHTML and SI pages sent from the NMIT tool are not received for the second time in emulator.
  • Multiple JRE installation confuses the svg2svgt installer.
 Workaround: Add JRE (1.5.0 or newer) folder to PATH before running 
 the installer, after installation the JRE installation folder can 
 be removed from PATH.
  • You need at least two PCs to run SIP Applications. Minimum configuration:
 PC1: S60 Emulator running Client application using SIP + SIP Server Emulator. 
 PC2: S60 Emulator running Client application using SIP.
 SIP Server emulator can also reside on a third computer. 
 When using SIP Server Emulator on the same PC with S60 emulator, 
 the SIP Profile configured on this S60 emulator must include SIP 
 Proxy set to the same server address and SIP Realm as configured for 
 SIP Registrar (e.g. the IP address of the machine where both run). 
 In the two PC setup Instant Messages are not sent from the machine 
 where the SIP Server Emulator is running.
  • Mbmviewer application cannot open files that are located in a folder that has space in the name.


  • Executing ceddump.exe does not create a cedout.cfg file if the emulator is running.

Emulator Applications

  • Saving locally stored web pages does not work in the Web application.
  • Camera application is not supported by the S60 emulator.
  • RealPlayer supports playing 3gp and mp4 files. Real Video 10, 9, 8 can also be played, although while the video part is displayed but the audio part may suffer distortions. Other formats are not supported in the S60 emulator.
  • Messaging application may occasionaly crash when deleting e-mail messages.
  • Inserting video files to MMS messages can crash the Messaging application.
  • Japanese input kanji does not work in some applications.
  • In Gallery using the View File Details option for video files crashes Gallery.


  • When the debugger is started, the Standby application sometimes overlaps the application being debugged. Use the quick task switch button to bring the application to front.
  • Drive size is not correctly shown in the memory application when removable memory is used to emulate memory card.
  • The locale of the emulator can be changed by renaming a locale dependent file in <SDK>\release\winscw\udeb. For instance to set the emulator to Swedish locale rename elocl.006 to elocl.loc. Make a backup of the original elocl.loc. Only the locale supported by the current language setting can be selected. Emulator language is modified through the S60 SDK Start menu.
  • WAP Push Files do not open in the emulator.
  • Epoc.exe process hangs if the emulator is "turned off" in standby mode. Workaround: Kill the process by using Windows Task Manager.
  • When opening DRM content using File > Open, rights object (DRC) must be loaded before content (DCF).
  • SIC (Service Indication) and DRC (Digital Rights) content cannot be 'pushed' to the SDK from NMIT (Nokia Mobile Internet Toolkit). Workaround: Save the SIC and DRC content in NMIT by using the Save Binary option, and then File > Open them using the SDK.
  • Emulated memory card size is not correctly shown when using the "Virtual MMC" feature in the emulator utilities menu. Pressing "Insert MMC" or "Remove MMC" buttons will disable both buttons. To recover, the Utilities window needs to be re-opened.
  • Emulated events are not visible in the emulator UI in all situations. Events need to be caught programmatically.
  • Althogh present in the events UI, Enhancement event generation is not supported in the emulator.
  • Smart message sending from emulator does not work.
  • Sometimes an error message appears at emulator startup (ncnlist). It does not affect emulator usage.
  • The emulator fails to start if very large values are configured in the Preferences 'Memory Capacity' setting (255M or more). The too high value can be reset by editing the epoc.ini file in C:\Symbian\9.2\S60_3rd_FP1\Epoc32\data\epoc.ini and changing the MegabytesOfFreeMemory setting to a lower value. Eg. using the default 32.
  • SMS and MMS messages sent from the emulator leave the From field empty and thus the Reply option is not available.
  • Just In Time debugging setting change requires emulator restart.
  • If a media file exists in the emulator then a file with the same name can not be opened using File > Open.

Example Applications

  • It is recommended to build example applications manually from command line before moving to IDE. Codewarrior and Carbide.c++ products do not perform actions described in bld.inf. For instance exports and additional makefiles are ignored. Almost all examples are affected by this problem.
  • In the emulator Webclient example a panic is shown at exit. This panic is caused by the S60 emulator implementation.
  • BrCtlSampleApp example application has UI issues in the emulator.
  • After selecting unrecognised (empty boxes) writing language in the Editor example it is not possible to input text in any input fields. The language can be reset by Settings -> General -> Personalization -> Language -> Writing Language.

Copyright (c) 2001-2006 Nokia Corporation. All rights reserved. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation.

This page was last modified on 22 October 2012, at 05:27.
83 page views in the last 30 days.