Release Notes

Carbide.c++ Express v1.0

Summary

This is a collection of important information concerning last-minute changes and other topics that deserve special attention. Please read these notes carefully before using the Carbide tools  so you understand the current limitations and workarounds for known issues.

Once you have read the release notes, we recommend you follow the HelloWorld tutorial for a quick introduction to Carbide.c++

WARNING: Updating the CDT feature in Carbide.c++/Eclipse will wipe out our changes making the tools unusable!

Features Provided in this Release

NOTE: WINSCW is only supported for DEBUG builds and ARMI & THUMB targets are only supported for RELEASE builds. WINS and other SDKs not listed are not supported.

Build Target Platform Security
(S60 3.0, UIQ 3.0-beta)
Legacy SDKs
(S60 2nd Ed (2.0, 2.1, 2.6, 2.8), UIQ 2.1, UIQ 2.0, Series 80 (2.0))
GCCE
WINSCW (EKA2)
ARMI
THUMB
WINSCW (EKA1)
APP (DLL)


Yes
Yes
Yes
DLL
Yes
Yes
Yes
Yes
Yes
EXE (console)
Yes
Yes
Yes
Yes
Yes
EXE (OS 9.1 GUI)
Yes
Yes



STDLIB
Yes
Yes
Yes
Yes
Yes

Bug List and Workarounds

Summary
Workaround
IDE
Clicking on 'Workbench' in Welcome screen throws exceptions on Win2K On Win2000, close the Welcome screen and ignore it.
[CDT Indexer] _LIT macros confuse the indexer and show error markers in the source view. These error markers are bening and can be ignored. If you don't want to see them disable the following checkbox under: Window >  Preferences  > C/C++ > Editor > Hovers (Tab) > Enable editor problem annotation.
No syntax coloring for source files No workaround.
The C++ Indexer is slow.
The full C++ indexer can be slow for large projects. Switching to the CTags indexer (set by default for Symbian OS projects) can speed up source indexing.
The C++ indexer will emit warnings of missing header files when projects are first created and prior to the first build.
These can be ignored
Synergy 6.3 Installations will always crash Eclipse file navigation dialogs - The solution for this is to un-register cmexplorer.dll then reboot your machine. Un-registering this feature will only effect users that use Synergy integration to Windows Explorer. This issue is known to be fixed with Synergy 6.4. The un-register command is:

regsvr32 /u <path to dll>cmexplorer.dll  

To re-register, the command is:

 regsvr32 <path to dll>cmexplorer.dll

BUILD/IMPORTER
[MMP/INF] If you have a space in your workspace path, you cannot import a project with copy sources enabled. Avoid spaces in workspace paths.
Build Error: "<file>.mbg: No such file or directory" when building many S60 3.0 examples.
When importing S60 3.0 projects, many MIF/MBG outputs are not created because they are expected to be build by gunmakefile in the bld.inf file. You will need to use the MIFDEF editor to add your icons to a MIFDEF file so the icons can be properly build. See the S60 3.0 GUI template stationery for an example of a MIFDEF file.
Choosing "Cancel" during a build can cause the system to freeze for several minutes. No workaround. Stopping the CDT indexer can do the same thing.
[Build Console View] - On some projects the build console gets cleared in the middle of the build. No workaround.
[MMP Importer] TARGETTYPE PLUGIN will cause problems with MMP importer. No workaround. A targettype of 'plugin' is not currently supported.
[Project > Build Automatically] If automatic build is enabled for a project, the project will always build when you restart the IDE whether it needs it or not. Disable auto project building.
[Error Markers] If you import a project and do not copy sources to your workspace you will be unable to navigate to errors in header files. The only workaround is to import your project with the copy source files option enabled.
[Build Progress] The Build Project progress bar does not update during any builds. Check the console view for the build status.
MIFDEF files can't handle bmp files in epocmifdef script. The MIFDEF files cannot handle bmp files. For now you must stick with SVG graphic
[Project > Build Project] If an error occurs while building a project you cannot perform an incremental build, you must select Project > Rebuild Project. The problem is that the build system does not recognize an error in a file as a need to rebuild always when Project > Build Project is chosen.
Select Project > Rebuild Project. Incremental builds are not supported.
MMP/INF Importer fails when Perl is not installed or there is no valid default SDK set in devices.xml Perl 5.6.1 must be installed in order to run the MMP importer as well as one default devices set in your devices.xml file.
[Error marker] - Error markers do not always show up on files with errors in the C/C++ Project view tree. Check the Problems View.
[Problem View Markers] - Markers without line number cannot always be deleted. No workaround.
Can only build resources for one language - LANGUAGE_sc by default Change the language macro in the Resource Compiler project preference. You can only build for one language at a time.
AIFDEF Editor - Not all GUI elements of editor are shown if editor window is not wide enough. Widen the view to display all GUI elements.
The default exports for the various target types are not set. Unfrozen export warnings can be ignored with building APP target types (e.g. Polymorphic DLL)
Building on subst'ed drives is not supported Make sure your SDK and Carbide tools are installed on the same path.
The Clean command only removes the object and make files, not the output files. When Project > Rebuild Project is chosen, the output files will be cleaned. Use this option for a clean of all output files before a build.
Some build configurations always emit an error during a clean operation.
The error "The system cannot find the file specified [.make]" can be ignored.
Header file dependency tracking is not supported. For example, a change to a .h file will not cause a rebuild of the associated .cpp file when the next Build is executed. Choose Project > Rebuild Project when in doubt.
MMP importer does not support relative paths for source files (e.g. SOURCE ..\src\foo.cpp) Change path locations to absolute for now.
MMP importer does not preprocess MACRO statements. For example all #if/#else statements always resolve to the #else block. Check your MMP file for any macros exist.
The use of nested bld.inf imports is not supported. For example, you can't have the line #include "..\foo\bld.inf" in your bld.inf file. Import each sub bld.inf file separately.
DEF files cannot be imported. Only one DEF file per project is currently supported. Specify DEF files per build target in the project preferences.
gnumakefile commands in bld.inf are not processed. This is especially problematic for S60 3.0 bld.inf files.
If you have Series 60 projects that include gnumakefiles in the bld.inf (e.g. Scalable UI projects) you will need to include a mifdef file within your project.  These are not created automatically due extension makefiles not  being parsed in the importer. In order to build the proper MIF file in this case you will need to create a MIFDEF file for your project and add your SVG graphic. For more information please check the documentation on MIFDEF files. For an example MIFDEF file, create a "S60 3.x GUI Application" from the S60 project wizard.
Files that include non-ascii character types will not compile correctly with GCCE if the file type is not saved as UTF-8. The workaround is to change the text file encoding in the global preferences at Windows > Preferences, then open the General > Editors panel in the Preferences window. Look for the Text file encoding option as shown below.

DEBUGGER
[Debugger] Disassembly view does not automatically pop up when stopping in disassembly. Open the disassembly view manually by choosing Window > View > Disassembly.
[Memory Monitor] When trying to monitor complex types you will get an error: "Add memory monitor failed, invalid expression type: <var name> Complex types (e.g. struct) are not supported at this time, you can monitor the simple members of a complex type instead.
[Variable View] - Sometimes when stepping through a loop variables do not refresh. If you have refresh problems with variables, put focus on the variables pane, then off the pane and back onto the variable pane.
[Variable View] Array elements of TBuf are displayed as short integers rather than characters. Click on the TBuf variable itself to display the value.
[Register View] Highlighting a register and performing any debugger operations will result in errors. Don't highlight registers when performing other debugger actions.
[Variable View] Adding/deleting a node to/from a linked list or binary tree causes display problem inside the variable view. Setting breakpoint at the next statement and running to it will refresh the variable view properly.
[Register View] Casting Registers to any type does not work. Not currently supported.
[Modules View] Modules that say "(symbolics loaded)" cannot be expanded as you might think. If you want to view a modules sources and debug it you will need to import the module into an existing project. Refer to the Carbide documentation on how to debug multi-modules.
The value of some uninitialized variables is shown as "Unknown error ...." When variables are in scope the proper value will be displayed.
[Variable Scoping] - Multiple variables with the same name in subscopes are not displayed properly. Give variables unique names.

Further Information

See the Welcome message for contact information.