You Are Here:

Community: Wiki

This page was last modified 16:33, 11 September 2007.

GCCE

From Forum Nokia Wiki

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 Codesourcery.com 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

/Symbian/9.2/S60_3rd_FP1/EPOC32/include/d32locd.h 
array bound is not an integer constant        
   S60_Gui_01      line 179
------------------->

To fix the compile errors:

1. Modify the file

  C:\Symbian\9.2\S60_3rd_FP1\Epoc32\include\d32locd.h

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

  C:\Symbian\9.2\S60_3rd_FP1\Epoc32\include\aknquerydialog.h

by changing the line:

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

to

CCoeControl* FindControlOnAnyPageWithControlType(...) const;

Internal links

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditFurlTechnocratiMagnoliaTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fPublishingE5fyourE5fownE5fwidgetsX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxPublishingE20yourE20ownE20widgetsE20E2dE20ForumE20NokiaE20WikiX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfnTypeZCommunityContentQ qdcZtypeQUqfnTypeZE52esourceQ qdcZtypeQUqfnTypeZWebpageQ qdcZtypeQUqfnTypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2fX qfnZtypeQUqfnTypeZCommunityContentQ qfnZtypeQUqfnTypeZE52esourceQ qfnZtypeQUqfnTypeZWebpageQ qfnZtypeQUqfnTypeZWikiContentQ qfnZupdatedQDx2008E2d10E2d02X qmarsZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfnTypeZCommunityContentQ qrdfZtypeQUqfnTypeZE52esourceQ qrdfZtypeQUqfnTypeZWebpageQ qrdfZtypeQUqfnTypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ