If you install more than one Symbian OS SDK on your development PC system you will need to select the particular SDK you wish to work with before you can use it.
Series 60 Platform SDKs 1.x or earlier are based on Symbian OS 6.1. From Series 60 2.x onward Symbian OS 7.0s was used and the approach to configuring multiple SDKs was modified.
If you are using only Series 60 Platform 1.x or earlier (based on Symbian OS 6.1), then selecting an SDK simply involves setting the value of a special environment variable called EPOCROOT . During the installation of a Series 60 SDK EPOCROOT is created, and it is set to point to the root directory of the particular SDK. Some of the material installed, such as documentation and tools, may be common to more than one SDK, and so it is placed in shared directories. However, the runtime environment for each platform emulator, associated system header files and libraries are different. Hence there is a separate directory tree per SDK; it is to this directory that the environment variable EPOCROOT must point. For example, it might be set something like:
The SDK-specific tools, resources and example projects are under this subtree . So if you need to work with SDKs for multiple versions of Series 60, you may need to ensure that the value of EPOCROOT is set correctly each time you change to a particular SDK. Otherwise you cannot use a particular SDK without getting error messages.
You can change between SDKs from the command prompt by using the set command to change the value of EPOCROOT :
Note that EPOCROOT must not contain the (PC file system) drive letter ”you specify the folder path only.
Alternatively you can use the EpocSwitch utility to switch between different SDK environments (Series 60 1.0, 1.2 and so on). More information about EpocSwitch is provided in the Miscellaneous SDK Tools subsection later in this chapter.
Additionally, your chosen IDE may have facilities to set the value of EPOCROOT directly.
The Symbian OS tools for C++ development, with the exception of the emulators, are found in two directories:
Tools developed by Symbian are in the \epoc32\tools\ directory in the root of your SDK installation.
The ARM cross complier supplied by Symbian is the GNU gcc compiler adapted and supplied by Cygnus. This target cross compiler and its supporting programs are in the \epoc32\gcc\bin\ directory in the root of your SDK, or possibly in the \Shared\epoc32\gcc\bin\ directory, at a level higher than the root of your SDK ”this will depend on the option chosen during installation of your SDK.
Both of the tools directories should be included in the Windows system path. The SDK installation process normally updates the path and registry settings.
If you are using Microsoft Visual C++, and you want to be able to perform command-line builds for WINS, you must ensure that the environment variables are set up for access to the Visual C++ tools. This is normally the case if the "command-line builds" option was selected when Visual C++ was installed. Alternatively, these can be set using a command file called vcvars32.bat provided with the product.
In Symbian OS 7.0s, the approach to configuring multiple SDKs was modified. So, for Series 60 2.x Platforms (with or without version 1.x SDKs installed) the selection of a specific SDK is done via the devices command. The environment variable EPOCROOT no longer needs to be set; instead you use the devices command to choose the particular Symbian OS device you wish to develop for. A device is specified in the form of kitname:device , where kitname refers to the SDK. You can see a list of all the available devices by simply opening a command prompt and typing devices . To set a device as the default you would type, for example:
devices setdefault @Series60_v20:com.nokia.series60
You can then switch to a different device either by changing the default or by using the set EPOCDEVICE command.
Note that any SDKs you have installed will not normally be displayed by the devices command unless they are based on Symbian OS 7.0s or later. However, you can add them to the list using the devices “add command. Further details can be found in the SDK documentation.
Note that the EnvironmentSwitch tool, available from Series 60 2.x, can be used to automate the process of changing to different development environments. The Additional Development Tools section later in this chapter provides further details.
The CodeWarrior IDE is aware of devices information and will query you at appropriate times for the device kit to use ”for example, when you use the Import Project from .mmp File option from the File menu, as described later in this chapter. Note that in order for CodeWarrior to detect the device, the device- name part of the identifier must be of the form com.name.name .