<!DOCTYPE html>
<html class="client-js"><head>
  <meta charset="UTF-8">
  <title>Carbide.c++</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script>
    function importScript() { return 1 } // this is to avoid the error from site.js
  </script>
  <script>let articleId = 'Carbide.c++'</script>
  <link rel="canonical" href="https://en.wikipedia.org/wiki/Carbide.c%2B%2B">
  <link href="../-/mw/skins.minerva.base.reset|skins.minerva.content.styles|ext.cite.style|site.styles|mobile.app.pagestyles.android|mediawiki.page.gallery.styles|mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
  <link href="../-/style.css" rel="stylesheet" type="text/css"><link href="../-/content.parsoid.css" rel="stylesheet" type="text/css"><link href="../-/inserted_style.css" rel="stylesheet" type="text/css">
  <script src="../-/script.js"></script><script src="../-/masonry.min.js"></script><script src="../-/article_list_home.js"></script><script src="../-/images_loaded.min.js"></script><script src="../-/node_module/details-element-polyfill/dist/details-element-polyfill.js"></script>
</head>

<body class="mediawiki mw-hide-empty-elt ns-0 ns-subject stable skin-minerva action-view animations">
  <div id="mw-mf-viewport" class="feature-header-v2">
    <div id="mw-mf-page-center">
      <div id="content" class="mw-body">
        <a id="top"></a>
        <div id="bodyContent" class="content mw-parser-output">
          
          <div id="mw-content-text" style="direction: ltr;"><h1 class="section-heading" tabindex="0" aria-haspopup="true" data-section-id="0">
  <span class="mw-headline" id="title_0">Carbide.c++</span>
</h1>
<div id="mf-section-0" class="mf-section-0" aria-pressed="true" aria-expanded="true">
  <p><b>Carbide.c++</b> is a software development tool for <a href="C%2B%2B" title="C++">C++</a> development on <a href="Symbian_OS" title="Symbian OS" class="mw-redirect">Symbian OS</a>. It is used to develop phones that use the OS, as well as applications that run on those phones. It is based on the <a href="Eclipse_IDE" title="Eclipse IDE" class="mw-redirect">Eclipse IDE</a> platform enhanced with extra plug-ins to support Symbian OS development. The product is provided by the <a href="Symbian_Foundation" title="Symbian Foundation">Symbian Foundation</a> under an <a href="Open-source_software" title="Open-source software">open source</a> model.  In April 2009, <a href="Nokia" title="Nokia">Nokia</a> transferred Carbide.c++ and many other software developer tools to the <a href="Symbian_Foundation" title="Symbian Foundation">Symbian Foundation</a>.  Members of the Symbian community now manage and contribute code to the Carbide.c++ product.</p>


<table class="infobox vevent" style="width:22em"><caption class="summary">Carbide.c++</caption><tbody><tr><td colspan="2" style="text-align:center"><span class="mw-default-size"><img src="../I/CarbideCppIcon.png.webp" data-file-width="63" data-file-height="56" data-file-type="bitmap" height="56" width="63" loading="lazy"></span> <span><img src="../I/CarbideDevToolsLogo.png.webp" data-file-width="128" data-file-height="44" data-file-type="bitmap" height="34" width="100" loading="lazy"></span></td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Software_developer" title="Software developer" class="mw-redirect">Developer(s)</a></th><td><a href="Nokia" title="Nokia">Nokia</a>, <a href="Symbian_Foundation" title="Symbian Foundation">Symbian Foundation</a></td></tr><tr style="display: none;"><td colspan="2" style="text-align:center"></td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td><div style="margin:0px;">3.2
   </div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Operating_system" title="Operating system">Operating system</a></th><td><a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a></td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Computing_platform" title="Computing platform">Platform</a></th><td><a href="Symbian_OS" title="Symbian OS" class="mw-redirect">Symbian OS</a></td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td><a href="Integrated_Development_Environment" title="Integrated Development Environment" class="mw-redirect">Integrated Development Environment</a></td></tr><tr><th scope="row" style="white-space: nowrap;"><a href="Software_license" title="Software license">License</a></th><td>Free/Open Source</td></tr><tr><th scope="row" style="white-space: nowrap;">Website</th><td><a href="https://web.archive.org/web/20110225122608/http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html" class="external text external">Nokia Carbide Page</a></td></tr></tbody></table>

</div><details data-level="2" open="">
    <summary class="section-heading"><h2 id="Tool_packages">Tool packages</h2></summary>
    
<p>Carbide.c++ is provided by the Symbian Foundation in two different tool packages.</p>

<ul><li>Application Development Toolkit (ADT) contains tools for application development, including the IDE, debugger, and analysis tools.</li>
<li>Product Development Toolkit (PDT) contains tools for contribution and product creation.</li></ul>

<p>Both the ADT and PDT are basic installers that include Carbide.c++, several Eclipse-based plug-ins and several stand-alone tools.</p>

<p>ADT/PDT v1 contains Carbide.c++ v2.0.4 <br>
ADT/PDT v2 (Q4 2009) is targeted to contain Carbide.c++ v2.2</p>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="Technology">Technology</h2></summary>
    
<p>Carbide.c++ is based on the latest versions of <a href="Eclipse_IDE" title="Eclipse IDE" class="mw-redirect">Eclipse IDE</a> and Eclipse <a href="Eclipse_(software)" title="Eclipse (software)">CDT</a> extended with Symbian OS -specific features. Currently it supports the WINSCW x86 C++ compiler found in  <a href="CodeWarrior" title="CodeWarrior">CodeWarrior</a> for production of emulator binaries. For target binaries it supports <a href="GNU_Compiler_Collection" title="GNU Compiler Collection">GCC</a>, and ARM RVCT compilers (sold separately).  The WINSCW and GCC compilers are actually provided in the SDK and not explicitly included in the Carbide IDE.</p>

<p>Carbide.c++ has branched very few parts of CDT - nearly all of it is contained within added plug-ins added on top of Eclipse. The few branches mostly relate to the different semantics of the CodeWarrior debugger engine, compared to GDB which is what Eclipse previously supported. Because Carbide.c++ is very similar to a standard Eclipse installation, it can still be used for other types of development such as Java or Perl (provided the correct plug-ins are installed using Eclipse's self-update mechanism). Similarly, it ought to be possible to produce a product with similar functionality to Carbide.c++ by moving the Carbide.c++ plug-ins into a standard Eclipse installation; this is not currently a facility offered by Nokia.</p>

<p>Carbide.c++ supports the Symbian Build System v1 and v2 (aka Raptor).  The former is a perl-based build system and the latter is built using Python and supports the next generation Symbian OS operating systems.  The main advantage of supporting SBSv1 and v2 in Carbide is users can create command-line builds in parallel with IDE builds and not have to manage two different workspaces.  The disadvantage of SBSv1 is dependency checking is automatic on every build and re-building large projects to take a while.  Carbide.c++ built in some short cuts (starting with v1.3) to speed up rebuilds.</p>

<p>Early versions of Carbide (v1.0, 1.1) supported a different build method which had many problems.</p>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="History">History</h2></summary>
    

<p>Carbide.c++ development tools family was created to replace <a href="CodeWarrior" title="CodeWarrior">CodeWarrior</a> for Symbian OS as the primary development environment for Symbian OS. Adoption of the tool has been slow but CodeWarrior usage is diminishing since the older tool no longer supports the latest changes to Symbian OS and S60 platforms.</p>

<p>Carbide was provided as three commercial products and one free product. Today the product is part of the Symbian Foundation offering and is completely free.</p>

<ul><li>Express—Basic tools for application development. Contains project management, code authoring, emulator &amp; GCC-E builds, and emulator debugging. The Express edition was provided for free and did not support development directly on production phones.</li>
<li>Developer Edition—Targeted at aftermarket software development. Contained Express features, a UI Designer (for rapid UI creation), and application-level on-device debugging for S60 and UIQ phones.</li>
<li>Professional—Targeted at Symbian OS phone manufacturers, their partners, and application/middleware vendors working on demanding projects. Contained Developer features, system-level on-device debugging, and performance profiling tools.</li>
<li>OEM—Targeted at early-access embedded development such as driver-development, base porting, and hardware-dependent application and middleware development. Contained Professional features, and stop-mode debugging using <a href="Lauterbach_Datentechnik" title="Lauterbach Datentechnik" class="mw-redirect">Lauterbach</a> and Sophia in-circuit emulators.</li></ul>

<p>The products ranged in price from 300 to 8000 Euros depending on features set and licensing model.</p>

<p>Carbide had a slow reception to the Symbian community. Developers are generally not fond of moving to new tools and early versions of Carbide had problems. There were several frequently cited complaints - for example, lack of Symbian-OS-style code indenting, lack of an easy "find in files" facility, speed of import of Symbian OS build files (MMPs), and difficulties using on-device debugging. In addition, the much-anticipated Managed Build System did not work properly - rather than offering a true incremental build, it frequently deleted everything and started again. Otherwise the reception was warm - the development environment is preferred to CodeWarrior, the IDE is based on Java so there are some speed and memory concerns, the IDE is often slow and has a pretty big memory foot print, all trademarks of the Java environment.</p>

<p>Carbide.c++ has made steady progress in addressing issues brought up by the developer community. CodeWarrior usage has dropped off significantly due to improvements in Carbide and CodeWarrior's lack of support for the newer versions of Symbian OS.</p>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="Using_Carbide.c++">Using Carbide.c++</h2></summary>
    
<p>To do <a href="Symbian_OS" title="Symbian OS" class="mw-redirect">Symbian OS</a> C++ development you need the Carbide.c++ IDE and a Symbian OS-based SDK. This SDK contains the emulator and also the libraries and header files required for Symbian OS development. Development kits are available at Forum Nokia and the Symbian Foundation web sites.  Please note that these kits may have different names reflecting additional capabilities (Cust kits, Developer Kits, PDK, iSSK).</p>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="References">References</h2></summary>
    
<div class="reflist columns references-column-width" style="column-width: 30em; list-style-type: decimal;">
<ol class="mw-references references"></ol></div>


    
</details><details data-level="2" open="">
    <summary class="section-heading"><h2 id="External_links">External links</h2></summary>
    
<ul><li><a href="https://web.archive.org/web/20090810003411/http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Platforms/S60_Platform_SDKs/" class="external text external">Nokia-specific SDKs</a></li>
<li><a href="http://symbian-xcode-plugin.tigris.org/" class="external text external">An alternative - Symbian OS development within Apple's XCode IDE</a></li>
<li><a href="https://web.archive.org/web/20140419122419/http://developer.nokia.com/community/wiki/Symbian_C%2B%2B" class="external text external">Symbian C++ - Nokia Developer Wiki</a></li></ul>

<div role="navigation" class="navbox" aria-labelledby="Eclipse_plugins" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r992953826">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:100%}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}</style><div id="Eclipse_plugins" style="font-size:114%;margin:0 4em"><a href="List_of_Eclipse-based_software" title="List of Eclipse-based software">Eclipse plugins</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Adobe_Flex" title="Adobe Flex" class="mw-redirect">Adobe Flex</a></li>
<li><a href="Adobe_LiveCycle" title="Adobe LiveCycle">Adobe LiveCycle</a></li>
<li><a href="Android_software_development#Android_SDK" title="Android software development">Android Development Tools (ADT)</a></li>
<li><a href="Appium" title="Appium">Appium</a> Studio for Eclipse</li>
<li><a href="Aptana" title="Aptana">Aptana</a></li>
<li><a href="Avaya" title="Avaya">Avaya Dialog Designer</a></li>
<li><a href="Bioclipse" title="Bioclipse">Bioclipse</a></li>
<li><a href="Borland_Together" title="Borland Together" class="mw-redirect">Borland Together</a></li>
<li><a href="Carbide.c%2B%2B" title="Carbide.c++">Carbide.c++</a></li>
<li><a href="EasyEclipse" title="EasyEclipse">EasyEclipse</a></li>
<li><a href="FindBugs" title="FindBugs">FindBugs</a></li>
<li>G-Eclipse</li>
<li>Granite data services</li>
<li><a href="Rational_Software" title="Rational Software">IBM Rational Software</a></li>
<li><span class="new">IBM Websphere Studio Application Developer</span></li>
<li><a href="JBoss_Tools" title="JBoss Tools">JBoss Tools</a></li>
<li><a href="JBuilder" title="JBuilder">JBuilder</a></li>
<li><a href="JFire" title="JFire">JFire</a></li>
<li><a href="Jtest" title="Jtest">Jtest</a></li>
<li><a href="Lomboz" title="Lomboz">Lomboz</a></li>
<li><a href="MyEclipse" title="MyEclipse">MyEclipse</a></li>
<li><a href="Nodeclipse" title="Nodeclipse">Nodeclipse</a></li>
<li><a href="Objecteering" title="Objecteering">Objecteering</a></li>
<li><a href="OptimalJ" title="OptimalJ">OptimalJ</a></li>
<li><a href="Oxygen_XML_Editor" title="Oxygen XML Editor">&lt;oXygen/&gt;</a></li>
<li><a href="Photran" title="Photran">Photran</a></li>
<li><a href="PyDev" title="PyDev">PyDev</a></li>
<li><a href="RadRails" title="RadRails">RadRails</a></li>
<li><a href="Visual_Paradigm_for_UML" title="Visual Paradigm for UML" class="mw-redirect">Visual Paradigm for UML</a></li>
<li><a href="Zend_Studio" title="Zend Studio">Zend Studio</a></li></ul>
</div></td></tr></tbody></table></div>
<div role="navigation" class="navbox" aria-labelledby="Nokia_platforms" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Nokia_platforms" style="font-size:114%;margin:0 4em"><a href="Nokia" title="Nokia">Nokia</a> platforms</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Operating_system" title="Operating system">Operating systems</a></th><td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Maemo" title="Maemo">Maemo</a></li>
<li><a href="MeeGo" title="MeeGo">MeeGo</a></li>
<li><a href="Nokia_Asha_platform" title="Nokia Asha platform">Nokia Asha Platform</a></li>
<li><a href="Nokia_X_platform" title="Nokia X platform">Nokia X Platform</a></li>
<li><a href="Smart_Feature_OS" title="Smart Feature OS" class="mw-redirect">Smart Feature OS</a></li>
<li><a href="Symbian" title="Symbian">Symbian</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software_framework" title="Software framework">Software frameworks</a></th><td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><span class="new">Series 20</span></li>
<li><a href="Series_30" title="Series 30">Series 30</a></li>
<li><a href="Series_30%2B" title="Series 30+">Series 30+</a></li>
<li><a href="Series_40" title="Series 40">Series 40</a></li>
<li><a href="S60_(software_platform)" title="S60 (software platform)">Series 60</a> (<a href="N-Gage_(service)" title="N-Gage (service)">N-Gage</a>)</li>
<li><a href="Series_80_(software_platform)" title="Series 80 (software platform)">Series 80</a></li>
<li><a href="Series_90_(software_platform)" title="Series 90 (software platform)">Series 90</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related Articles</th><td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Accredited_Symbian_Developer" title="Accredited Symbian Developer">Accredited Symbian Developer</a></li>
<li><a href="Carbide.c%2B%2B" title="Carbide.c++">Carbide.c++</a></li>
<li><a href="Qt_(software)" title="Qt (software)">Qt</a></li>
<li><a href="Symbian_Foundation" title="Symbian Foundation">Symbian Foundation</a></li></ul>
</div></td></tr></tbody></table></div>




    
</details><!--htdig_noindex--><div><div style="clear:both; background-image:linear-gradient(180deg, #E8E8E8, white); border-top: dashed 2px #AAAAAA; padding: 0.5em 0.5em 0.5em 0.5em; margin-top: 1em; direction: ltr;">
    This article is issued from <a class="external text" title="Last edited on 2018-11-19" href="https://en.wikipedia.org/wiki/?title=Carbide.c%2B%2B&amp;oldid=869591054">Wikipedia</a>. The text is licensed under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons - Attribution - Sharealike</a>. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
        </div>
      </div>
    </div>
  </div>
  <script src="../-/mw/jsConfigVars.js"></script>
  <script src="../-/mw/startup.js"></script>
<script src="../-/mw/jquery.js"></script>
<script src="../-/mw/mediawiki.js"></script>
<script src="../-/mw/site.js"></script>



</body></html>