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 over the next few weeks. Thanks for all your past and future contributions.


From Wiki
Jump to: navigation, search
Article Metadata
Created: antonypr (21 Apr 2007)
Last edited: hamishwillee (30 May 2013)

GCCE (GNU Compiler Collection for Embedded) is an ARM-based compiler used in Symbian OS 9. Before Symbian OS 9, GCC is used to compile for the target. It is intended for building third party applications. It cannot be used to compile the full operating system.

GCCE is developed by CodeSourcery in partnership with ARM Ltd. It is developed based on the GNU Toolchain for ARM processors.

GCCE is distributed together with the Symbian OS 9 SDKs, including S60 3rd Edition SDK and UIQ 3.0 SDK.

GCCE compiler solutions

GCCE 3.4.3 does not produce right description for the parent class "CAknAppUi" which has quite some inheritance and data members.

04424c:   109  = 0x13 (DW_TAG_structure_type)
04424d:     DW_AT_sibling 0x21137 (0x4426a)
044251:     DW_AT_name CAknAppUi
044255:     DW_AT_declaration 0x1
044256:     12  = 0x2e (DW_TAG_subprogram)
044257:       DW_AT_external 0x1
044258:       DW_AT_name CAknAppUi
04425c:       DW_AT_type 0x21137 (0x4426a)
044260:       DW_AT_artificial 0x1
044261:       DW_AT_declaration 0x1
044262:       9  = 0x5 (DW_TAG_formal_parameter)
044263:         DW_AT_type 0x21137 (0x4426a)
044267:         DW_AT_artificial 0x1
044268:       0 null
044269:     0 null

Using a newer version of GCCE, the 2007q1-21 release of Sourcery G++ Lite (GCC 4.2.0) from solves this problem. However, the new version of GCCE does not work directly with the SDK (S60 3.1), issuing these errors:

/Symbian/9.2/S60_3rd_FP1/EPOC32/include/aknquerydialog.h extra qualification
'CAknQueryDialog::' on member 'FindControlOnAnyPageWithControlType'            
   S60_Gui_01 line 462

array bound is not an integer constant        
   S60_Gui_01 line 179

To fix the compile errors:

1. Modify the file


by commenting out these lines:

   __ASSERT_COMPILE(_FOFF(TLocalDriveCaps,iSize)%8 == 0);
   __ASSERT_COMPILE(_FOFF(TLocalDriveCapsV3,iFormatInfo.iCapacity) % 8 == 0);

2. Also modify the file


by changing the line:

CCoeControl* CAknQueryDialog::FindControlOnAnyPageWithControlType(...) const;


CCoeControl* FindControlOnAnyPageWithControlType(...) const;

Internal links

This page was last modified on 30 May 2013, at 04:38.
71 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.