Skip to main content
Jump to: navigation, search


Revision as of 12:15, 4 September 2006 by (Talk | contribs) (General)


How do I contribute to this FAQ?

Simply edit this page and add content. You can now use your bugzilla username and password to gain access.

Is it really that easy?



What is the CDT?

The CDT (C/C++ Development Tools) Project is working towards providing a fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform.

There are a number of groups contributing to the CDT; We strongly encourage interested parties to extend our work, thereby making the Eclipse CDT project a richer set of freely available resources. We are looking for contributions from the open source community in the areas of test, development, documentation, and general users who can help us ensure that the C/C++ tools work well on all the Eclipse platforms.

Our current release function includes:

  • C/C++ Editor (basic functionality, syntax highlighting, code completion etc.)
  • C/C++ Debugger (APIs & Default implementation, using GDB)
  • C/C++ Launcher (APIs & Default implementation, launches and external application)
  • Parser
  • Search Engine
  • Content Assist Provider
  • Makefile generator

Default implementations of all interfaces and extension points will be supplied for various platforms.

The CDT is fully open-source and implemented purely in java as a set of plugins to the Eclipse platform. To learn more visit the CDT Home Page.

How is the CDT licensed?

The CDT consists of software produced by the CDT team combined with third party software developed from other Open Source Projects. The software produced by the CDT team is licensed under the Common Public License. The software designed by third parties is made available under their respective licenses. Refer to the about.html file in the root directory of every CDT plugin for specific licensing information.

How is the CDT Project organized?

Visit CDT Project Structure to find out more about the organization of CDT (History, participants, and project structure).

How do I find out about future releases of the CDT?

See the CDT/planning section.

If you wish to contribute to the development of the CDT, we welcome the opportunity to work with you. The plans will be updated to reflect the commitments made by contributors to this projects. See Working on the CDT for information on how to get started.

Release Milestones (which represent planned availability dates for Stable CDT builds) are noted in the CDT Plan Documents which can be found on the CDT Overview Page. To see the currently available CDT builds, choose from either the current official release or from the nightly builds.

What is the default configuration supported by the CDT?

This is a bit of a moving target, but currently the compiler supported (from an error parsing point of view) is gcc, the debugger interface will work with gdb 5.2.1 (or higher) and the default build command is GNU "make".

Which operating systems does the CDT support?

The CDT Framework is platform independent. It will run where Eclipse will run. However, the default implementations may depend on external applications. To follow in the Eclipse spirit of open source, the default implementations rely upon freely available open source tools, such as the GNU Tools: GDB and Make. Therefore, the dependencies on GDB for debugging, or Make for building, will require that these applications are available for the platform that the user wishes to use. References to some of the known implementations for each platform will be indicated in the sections of this FAQ that include instructions for installation, project creation and building the CDT on the various platforms.

Which platforms are fully supported will ultimately depend on the needs of the community, as expressed by the participation in developing, and testing for each platform?

The core plugins are written in Java with no native code and thus may be ported to any platform supported by Eclipse. However, some default implementations may require that other software or tools, licensed under GNU, may be required.

In general there is some version of Linux and some version of windows used by the developers on the CDT. For an exact list of supported platforms see the Downloads page.

Why isn't the XXX operating system supported by CDT?

"Supported" has a particular meaning to us. It means that on that platform we have a good level of confidence that CDT works correctly and that its function is appropriate and complete. That means

  • someone has ensured that the function addresses the important use cases
  • the function is exercised by regular execution of a test plan
  • identified problems are tracked to resolution
  • there is a recipient for user feedback
  • code patches are developed as necessary to correct or extend CDT on that platform

To make this all happen a platform has an Owner - someone who accepts the responsibility to make sure those things all happen.

The Framework supports all the platforms that Eclipse does. The CDT team is responsible for ensuring that this remains true for the framework. Specific default implementations will work only on platforms where the required applications are available. The following list is derived from the initial CDT meeting in July 2002. The following companies have agreed to provide support for the associated platforms:

Platform Company
QNX Neutrino QNX Software Systems Ltd.
Linux IBM, Red Hat
Windows IBM, MontaVista with initial support from QNX

If you have a favorite platform we highly encourage you to get involved and volunteer to own a feature that does not currently have an implementation that works on your platform of choice. See #Working on the CDT for more information.

How do I ask questions?

CDT related questions that are not answered in this FAQ or the documentation should be posted to the CDT newsgroup. You will need a password. You can also use this simple web interface to browse the newsgroup. General Questions about the Eclipse SDK which includes the Eclipse Platform, JDT (Java Development Tools), or PDE] (Plugin Development Environment) should be posted to the Eclipse newsgroup.

Keep in mind that these newsgroups are public, so do not include any confidential information in your questions. You should also read "How to ask questions the smart way" by Eric Raymond before participating in the newsgroups. NOTE: Please submit bugs to bugzilla, not to the newsgroups. See the How do I report a bug or request a feature? section of this document.

People will still come into a newsgroup asking questions that have been answered before and often will not provide any information about what versions they have installed, and what the problem is. You will be much more likely to get help if you provide enough information to reproduce the problem. The section on how to report a bug gives a list of some information which could be useful.

How do I report a bug or request a feature?

The CDT Project (like the Eclipse Project) uses bugzilla as its bug and feature tracking system. Entering a bug\feature report is as simple as filling in a web form on the eclipse bugzilla page. The first time you enter a bug you will need to create a new bugzilla account for yourself by providing an email address and choosing a password.

Before entering a bug report, you should search bugzilla to see if someone else has already entered a bug report similar to yours. If you find a bug report that outlines the problem you are seeing, you can simply annotate it with your comments to let the developers know that you have also hit the bug. Also you can add yourself to the CC list of the bug so that you will notified when the status of the bug changes or someone adds comments.

Once you have searched bugzilla and not found anything, you can go ahead and enter a new bug report. Please read the bug writing guidelines located on the eclipse bug reporting page.

To make your bug report more helpful include the following in your bug reports:

Environmental settings:

1. The build level of Eclipse that you are using. For example, "Eclipse 3.0M6"
2. The build level of CDT that you are using. For example, "CDT build"
3. Your computer's specifications (OS version + patch level, memory, other pertinent info)
4. The contents of your .log file (or lack thereof). This is especially important if you get a dialog that reports an internal error. See What is this .log file I hear so much about? for information on finding your .log file.
5. The Java runtime or development kit you are using to run eclipse (use java -version or java -fullversion)

Problem Description:

1. A description of what you were doing,
2. A description of what behavior that you observed, and
3. An explanation of how the observed behavior differs from the expected behavior

Where is this .log file that I hear so much about?

The .log file is located in the workspace/.metadata directory.

The .log file is used by the Eclipse Platform to log runtime errors. It is useful to include it in bug reports because it contains stack traces that occur in plug-ins. When you report a bug, make sure to include your .log file!

Download and Installation

Which CDT build should I download?

The latest stable release version is available from the CDT downloads page.

I can't find the CDT download for the XXX operating system?

The CDT is supported on the platforms specified on the download page. The downloads are structured and named to indicate, which OS and windowing system it runs on. If you do not see your OS/windowing system combination please contact us. We are always looking for volunteers to test and support platforms.

Much of the CDT default functionality uses applications that are available on most operating systems. The CDT leverages some default system tools such as gdb (debugging), make (building). These tools are available for many platforms and if they exist on your system, there is a good chance that the default functionality will work. See Compilers and other 3rd party tools for more information

The caveat is that the operation of the CDT on some operating systems has not been fully tested and we cannot commit time to fixing platform specific problems found on these platforms. However, code submissions from developers wanting to improve the CDT will always be gratefully accepted. See Working ON the CDT for more information.

How do I uninstall CDT? =

We do not currently ship an uninstaller. You can uninstall the CDT manually:

1. Shutdown the eclipse shell that is running CDT
2. Remove the CDT plugins
  • Navigate to the directory where the CDT plugins are installed (typically eclipse/plugins)
  • Remove the following plugins:
  • org.eclipse.cdt.*
3. Remove the CDT metadata
  • Navigate to the workspace/.metadata/.plugins directory
  • Remove the following directories (if they exist):
  • org.eclipse.cdt.*
4. Restart Eclipse

How do I convince Eclipse to "re-read" the configuration files?

Delete the following:

  • /configuration/org.eclipse.osgi/manifests
  • /configuration/org.eclipse.osgi/.bundledata
  • /configuration/org.eclipse.osgi/.state

and restart eclipse.

C/C++ Project Creation

Not yet available, in the meantime see old FAQ.

Editing C/C++ Projects

Not yet available, in the meantime see old FAQ.

Building C/C++ Projects

Not yet available, in the meantime see old FAQ.

Debugging C/C++ Projects

Not yet available, in the meantime see old FAQ.

Miscellaneous Troubleshooting

Not yet available, in the meantime see old FAQ.

Compilers and other 3rd party tools

Does CDT include a compiler?

CDT does not come with a compiler, so if you do not have one you will need to install one. Follows are options available to you:

* MacOS X: Install the developer tools DVD that came with your computer or with you MacOS X DVD.
* Linux: If not already installed, it should be available on your installation CDs.
* Windows: You have a choice of compilers available:
* Cygwin: Cygwin is a Linux-like environment for Windows, includes GCC.
* MinGW: Environment that includes development toolsets
* DJGPP: DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS.

Working on the CDT

How do I build CDT from CVS if I want a more recent build than is on the downloads page?

  1. Switch to the CVS Perspective: Window > Open Perspective > Others ... and select "CVS Repository Exploring"
  2. Context menu in "CVS Repositories" View, New > Repository Location
  3. Location - Host: Repository Path: /cvsroot/tools
  4. Authentication - User: anonymous (no password required)
  5. Connection - type: pserver
  6. Click 'Finish'
  7. Open up the resulting /cvsroot/tools tree.. find org.eclipse.cdt-releng/all
  8. On each of the projects under 'all', click context menu > Check Out

How do I export it so that it can be used with an external Eclipse installation?

You can either:
a) Export the CDT feature via File->Export->Plugin Development->Deployable Features. This will automatically export all the required plugins.
b) Export all the plugins etc. individually or all at once via File->Export->Plugin Development->Deployable Plugins and Fragments. However, this is more error prone and you're better off doing a).
c) Use the ANT stuff in org.eclipse.cdt.releng to build CDT the way the nightly build does.
  • I want to differntiate between the "Debug" and "Release" modes in my project. Is there any preprocessors in use already (some #define like "#define DEBUG" for Debug mode) or should I have to define them manually in my project. I find verbose in project options, but I am not sure how to use it ?

Back to CDT wiki page.

Back to the top