Here is a list of things to consider when moving from Carbide.vs 2.0 to 2.0.1:
- Before you install Carbide.vs 2.0.1, uninstall both Carbide.vs 2.0 and Carbide.vs 2.0 Help.
- If you want to work with the Nokia S60 3.0 SDK, download and install the Final version of the SDK. Carbide.vs 2.0.1 no longer supports the S60 3.0 Beta.
- 2.0.1 enables developers to turn on and off autogeneration of the UID.cpp file. For existing projects, the default for this is "do not generate", for new projects (created with 2.0.1), the default is "generate". If you have developed projects using 2.0 for the S60 3.0 Beta, the UID.cpp content is incorrect. To get a correct UID.cpp file, you can either enable automatic UID.cpp file generation in the "Carbide.vs properties" for each project or you can manually edit the UID.cpp file.
- The default UID3 generated by Carbide.vs 2.0 is in the Protected range. When moving to 2.0.1, if you want to test on a phone, you either need to get a Symbian Signed Developer certificate or change the UID value to a supported value in the unprotected range (range E). For details on how to get a SymbianSigned developer certificate, see the Carbide.vs Online Help (section How to's -> How To Create a Developer Certificate for Carbide.vs Using the DevCert Tool). For information on how to change the UID in Carbide.vs, see also Online Help (section How to's -> How To Change the UID3 of the application). For details on the supported UID ranges, see https://www.symbiansigned.com/app/page/uidfaq
- When building DLLs, Carbide.vs 2.0.1 defaults to building unfrozen DLLs. To ensure that phone (GCCE) builds are succesful, make sure that you have EXPORTUNFROZEN in the .mmp file. If you want to build frozed DLLs in Carbide.vs, see the Online Help for details. If you need to build DLLs, you also need to apply the S60 3.0 SDK patch supplied with Carbide.vs 2.0.1. For details on the patch, see the Release notes.
Last edited by mitts; 2008-02-01 at 10:08.
Re: Moving from Carbide.vs 2.0 -> 2.0.1
Andreas Jakl has just release a new, highly instructive tutorial on how to use Carbide.vs for Symbian OS application development. A must-read if you are new to Symbian OS and Carbide.vs (in addition to the Getting started document that can be found under the Carbide.vs home directory).
Note: The new Carbide.vs 2.0.2 version has not been tested with the UIQ support package.
UIQ has today released their support package for Carbide.vs 2.0.1 that enables Carbide.vs users to develop UIQ applications.
- Supports UIQ 3 and UIQ 2.1. The 2.1 SDK support enables existing projects to be imported but no templates are supplied. For UIQ 3 there is a good selection of various kinds of templates.
- If you have already installed 2.0.1 from Forum Nokia you only need the separate support package; you do NOT need to download and install Carbide from the UIQ site, it is the same software as you already have.
- NDS and Carbide.vs 2.0 are not supported by the UIQ package.
- For support for any UIQ related matters, you need to go to the UIQ developer site, Forum Nokia will not provide support for UIQ related questions for Carbide.vs.
- To download, go to http://developer.uiq.com/devtools_tools.html, you need to be a registered UIQ developer to download. For UIQ 3, a new Beta 3 was also released, only that version is supported, earlier SDks are not so you need to download the new UIQ SDK as well.
The Carbide.vs 2.0.1 Templates for the S60 3.0 GUI applications (GuiEngine, GuiLib, HelloWorld and View) incorrectly set the UID2 of the GUI application to 0x0 instead of 0x100039CE.
A consequence of the error is that SymbianSigned rejects the project.
To fix the issue, simply edit the projects .mmp file and rebuild. You can also correct the templates. To correct the templates, go to the \Carbide.vs installation directory and locate the \Templates\ProjectTemplates. Each of the subdirectories correspond to a template. In the offending templates, locate the /group directory and there the basename.mmp file. On the line starting with UID, replace "0x0" with "0x100039CE". For more information on editing templates, see the documentation in the /doc subdirectory.
Import fails if no Userinclude in .mmp file
If you get the error "Object Reference Not Set" when Importing, make sure you have a Userinclude statement in your .mmp file. If you do not, just add one pointing to the /inc directory or similar (existing) directory in your project.
Application icon does not change when SVG icon is modified
If you move and SDK to a new location in your system when using Carbide.vs, do the following:
1) Re-enable the SDK - from Carbide's perspective it is a new SDK, we cannot really guess that you have moved it. This is best done in the Enable/Disable SDK view. One gotcha, you cannot disable all SDKs so if you just have one installed, you will need to resort to the brute force method which is locating the file where Carbide remembers your SDK settings. This is something like C:\Documents and Settings\YourHomeDir\Carbide_vs\properties.xml. Just delete the file and next time you start Carbide you will be prompted to select the SDKs.
2) The previous fix only applied to getting Carbide to do the right thing for new projects. The build configs of existing projects are set up with some SDK specific information and also need to be fixed. To fix these, the easiest way is to deselect and then reselect the SDKs for the project. This will recreate the build configs for your (new) SDKs. Note however that manual settings that you have done are lost..
Again, if you have just one SDK, there is a problem as you cannot remove all SDKs. In this case the brute force method is simply to go into your Carbide project properties and locate the Preferences for the SDK and edit the values. You need to edit the Debugging, C++ and Linker settings.
How to enable debugging of console applications
If you create a console application, make the following changes to the VS project properties to enable debugging:
- In Properties -> Debugging -> Command, replace ...\epoc.exe with ...\eshell.exe
- In Properties -> Debugging -> Command Arguments, add -dtextshell --
- Set a breakpoint in your application
- Start the application from the commandline by typing the application name