C Dev Eclipse

C Dev Eclipse Rating: 4,6/5 351 reviews

Jul 10, 2007  The Eclipse CDT is an Eclipse plug-in that transforms Eclipse into a powerful C/C IDE. It was designed to bring many of the great features Eclipse enjoyed by Java developers to C/C developers, such as project management, integrated debugging, class wizards, automated builds, syntax coloring, and code completion. Aug 07, 2018  The early fascination and a gradual influence of a plethora of Eclipse based plugins convinced him more than a Swiss knife for software is finally available. With ever increasing functionality of C/C Development Tooling within Eclipse, he thought it is the right time to introduce a majority of C/C developers what they are missing and started working on this book with his wife, Meera. Mar 30, 2013  This Short Tutorial explains hot to set up c/c working environment using eclipse cdt on windows machine. Technology Lair: www.technologylair.net Subscribe. How to setup gcc (MSYS2) for Eclipse in Windows for C development. Submitted by NanoDano on Wed, - 03:28. DISCLAIMER: Don't hold me accountable for any bad advice or incorrect information provided here. Use this information at your own risk. I was barely able to hack it together myself and there are still a few details I am not 100.


Package Description

An IDE for C/C++ developers with Mylyn integration.

This package includes:

  • C/C++ Development Tools
  • Eclipse Git Team Provider
  • Mylyn Task List
  • Remote System Explorer
  • org.eclipse.cvs
  • org.eclipse.equinox.p2.user.ui
  • org.eclipse.help
  • org.eclipse.platform
  • org.eclipse.rcp
  • org.eclipse.cdt
  • org.eclipse.cdt.debug.ui.memory
  • org.eclipse.cdt.msw
  • org.eclipse.cdt.build.crossgcc
  • org.eclipse.cdt.launch.remote
  • org.eclipse.cdt.autotools
  • org.eclipse.cdt.mylyn
  • org.eclipse.mylyn_feature
  • org.eclipse.mylyn.context_feature
  • org.eclipse.mylyn.team_feature
  • org.eclipse.mylyn.ide_feature
  • org.eclipse.mylyn.bugzilla_feature
  • org.eclipse.mylyn.wikitext_feature
  • org.eclipse.rse
  • org.eclipse.egit
  • org.eclipse.egit.import
  • org.eclipse.cdt.debug.standalone
  • org.eclipse.epp.package.common.feature

Maintained by: Eclipse Packaging Project

Windows 32-bit
Windows 64-bit
Mac OS X (Cocoa) 32-bit
Mac OS X (Cocoa) 64-bit
Linux 32-bit
Linux 64-bit

Windows 32-bit: MD5 - SHA1 - SHA512
Windows 64-bit: MD5 - SHA1 - SHA512
Mac OS X (Cocoa) 32-bit: MD5 - SHA1 - SHA512
Mac OS X (Cocoa) 64-bit: MD5 - SHA1 - SHA512
Linux 32-bit: MD5 - SHA1 - SHA512
Linux 64-bit: MD5 - SHA1 - SHA512


Bug IDTitleStatus
496240Opening 'Help Contents' prints some warning messages about log4jNEW
496363Cursor down at bottom of edit box only scrolls last two lines of text.NEW
490235Where can I add the lib files of C like include stdio.h in my project?NEW
480141C++ package should include the XML editorNEW
451930Create a debian package for EPP CPPNEW
455050Use Tycho 0.23.0-SNAPSHOT to leverage ability to express native dependenciesNEW
506244Include a runtime (OpenJDK 11+) in some EPPsNEW
512302Crash on Customize PerspectiveNEW
534619[Photon] [cpp] Include Tip of the DayNEW
542755CPP and Parallel packages require Java 11 support to buildNEW
534592Error create interactive consoleNEW
522015Response of: Value must be an existing directory, when using ${eclipse_home}NEW
521784Bug 446072NEW
238857Deadlock opening dialogs on EPP C++NEW
449530This app can't run on your pc To find a version for your PC, please check with the software providerNEW
316452Run and Debug time termination (eclipse-cpp-helios-RC3-win32-x86_64)NEW
319647MCS51 family SDCC not compatible with build id 20100218-1602?NEW
316437Error and termination while Run or Debug is executed (eclipse-cpp-helios-RC3-win32-x86_64)NEW
281052'Binary not found' when launching application after switching perspectiveNEW
250367Crashed after updating processNEW
321677CDT Helios impossible to install new software via GUINEW
336456Showing the actual (int) value of an enum variable in CDT editor on hoverNEW
442975Can't create a new ProjectNEW
444682The EPP C/C++ Package 'Samples' are empty on the Welcome pageNEW
444683The EPP C/C++ Package docs mix 'user docs' with 'developer docs'NEW
422424Bug 'Restore Defaults' on CVS RepositoriesNEW
375866The CPP package content description (feature list) is outdated since JunoNEW
338462Cannot complete the install because of a conflicting dependency. Software being installed: Eclipse Java Development Tools 3.6.2NEW
535781[EPP Photon RC3] java.lang.NoClassDefFoundError: org/eclipse/linuxtools/docker/core/IDockerConnectionASSIGNED

Bugs listed in italics indicate the bug has been moved to another project.

Bug IDTitleStatus
441906java 1.7 not foundRESOLVED
443474Crashes in 64 bit, advises need for 1.7 in 32 bitRESOLVED
450389cant install the download I made on my PcRESOLVED
404686Download and Detail Checksums Don't MatchRESOLVED
396874Wrong Download!RESOLVED
230318Add Mylyn support to C/C++ IDERESOLVED
382264The 'Eclipse IDE for C/C++ Developers' builds are missing from the developer downloads pageRESOLVED
460821MARS: No ability to add JavaRESOLVED
478463Add multi-core visualizer and hardware debugging featuresRESOLVED
516675Add Terminal to CPP PackageRESOLVED
520285lots of errorsRESOLVED
549433Launchbar cannot be updated with Check for UpdatesRESOLVED
493861Never ever run in Dell InspironRESOLVED
490552Some features are not at the top-level in the new layoutRESOLVED
480536Eclipse IDE for C++ fails to launch. Cannot find shared libraries.RESOLVED
490046[Welcome] Adopt Solstice theme for CPP packageRESOLVED
340070Add features to CPP packageRESOLVED
347860Add egit to cpp packageRESOLVED
302165Move CDT version up to 7.0 for HeliosRESOLVED
324865GDB / MI not available in eclipse HeliosRESOLVED
251315Eclipse C++ Error /mingw/lib/libmingw32.a(main.o):main.c: undefined reference to `WinMain@16'RESOLVED
261138Installation of XML editor fails on eclipse linux 64 Bit c++ editionRESOLVED
250368the Format is wrongRESOLVED
238201sometimes can't start package on Linux 32RESOLVED
236699SWT missing from CDT RC3 package for Linux64RESOLVED
275213New feature for C/C++ PackageRESOLVED
286944Eclipse IDE for C/C++ Developers - Mac OSX - does not include symbolic link to executableRESOLVED
278310Can't update with P2 (but then again, what's new ..)RESOLVED
466568eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz appears to be incompleteCLOSED
503020New eclipse not coming up - Giving java errorCLOSED
535309EPP builds failingCLOSED
521395Ctrl+Click Indexing doesn't work in C++ modulesCLOSED
520286lots of errorsCLOSED
304607New feature for CPP packageCLOSED
346223Add CDT update site to discoveryCLOSED
333068Link to CDT New and Noteworthy is outdatedCLOSED
345190Cannot configure CDT Indexer for Microsoft SDK 7CLOSED
343981Add autotools featureCLOSED
334840Windows->Preferences menu item missingCLOSED
379734RFE: optionally import Linux Tools features via p2.inf rather than include themCLOSED
328546'File Seach' feature - does not work the first time you run itCLOSED
316038new CDT logo for CPP packageCLOSED
313497Eclipse Helios M7 for Linux x64 crashes on startup on openSUSE 11.2/x86_64CLOSED
438545Team preferences missingCLOSED
405222I cant open up Eclipse at allCLOSED
324522eclipse hang by debugging inside linked librarysCLOSED
336606Eclipse Ganymede IDE hangs in Ubuntu 10.04CLOSED

Bugs listed in italics indicate the bug has been moved to another project.

File a Bug on this Package

New and Noteworthy

Eclipse CDT
Eclipse Linux Tools
Eclipse Platform
Eclipse Mylyn
Eclipse EGit

Testing Details

Creating a C++ application using the Standard Template Library and the CDT

This article, which is a follow-up to 'C/C++ development with the Eclipse Platform,' is intended for C++ developers who want to learn C++ development using the Eclipse CDT. A simple C++ application is developed in the article. The application makes use of the C++ STL. Readers should be familiar with the STL, as well as with basic object-oriented programming principles such as inheritance and polymorphism. A familiarity with Eclipse will be helpful, but is not required.

Before we start

You need to install the following:

  • Eclipse

    We're using the CDT, which is a plug-in to Eclipse, so of course you need Eclipse. The article uses Eclipse V3.2.

  • Java Runtime Environment

    We're building a C++ application, but we're using Eclipse. Eclipse is a Java application itself, so it needs a Java Runtime Environment (JRE). The article uses Eclipse V3.2, which requires a JRE of V1.4 or higher. If you want to also use Eclipse for Java development, you'll need a Java Development Kit (JDK).

  • Eclipse C/C++ Development Toolkit (CDT)

    This article is about the CDT, so you'll need it, of course. For instructions on installing the CDT on early versions of Eclipse, read a 'C/C++ Development with the Eclipse Platform' (developerWorks 2003) .

  • Cygwin

    If you're using Microsoft Windows®, you will find Cygwin — which provides a Linux®-like environment on Windows — helpful.

  • GNU C/C++ Development Tools

    The CDT uses the standard GNU C/C++ tools for compiling your code, building your project, and debugging the applications. These tools are GNU Compiler Collection (GCC) for C++ (g++), make, and the GNU Project Debugger (GDB). If you're a programmer using Linux or Mac OS X, there's a pretty good chance these tools are installed on your machine. The article contains instructions for setting up these tools for Windows.

The Eclipse CDT

The Eclipse CDT is an Eclipse plug-in that transforms Eclipse into a powerful C/C++ IDE. It was designed to bring many of the great features Eclipse enjoyed by Java developers to C/C++ developers, such as project management, integrated debugging, class wizards, automated builds, syntax coloring, and code completion. When Eclipse is used as a Java IDE, it leverages and integrates with the JDK. Similarly, the CDT leverages and integrates with standard C/C++ tools, such as g++, make, and GDB. This has lead to it becoming very popular on Linux, where those tools are readily available and used for most C++ development. The CDT can be set up on Windows to use the same tools. There is also an ongoing effort to get the CDT to work with Microsoft's C++ tools to make it even more attractive to Windows C++ developers.

How do i install auto-tune on my macbook pro download. Auto-Tune Pro also includes Classic Mode, for the celebrated “Auto-Tune 5 sound,” Flex-Tune and Humanize for more transparent and natural-sounding tuning, Throat Modeling for subtle or extreme vocal transformations, and Transpose for real-time pitch-shifting with automatic Formant Correction. PC: Select the Auto-Tune.zip folder and click Extract All. Click the Show extracted files when complete checkbox and click Extract. Mac: Double click the Auto-Tune.zip folder to extract the uncompressed folder. Double-click the new uncompressed folder. Double click the Auto-Tune.exe or.pkg file and follow the on-screen instructions. Feb 15, 2014  Install OS X from the Internet - Replacing MacBook Pro Hard Drive Non-Retina - Part 2. Jun 03, 2019  How can I load turbotax into my Macbook Pro? I know I can't use the turbo tax cd. Can Turbotax download it into my computer?? Sep 01, 2015  Click on the CPU tab in the toolbar. Click twice on the%CPU column header to display in descending order. If you find a process using a large amount of%CPU, then select the process and click on the Quit icon in the toolbar. Click on the Force Quit button to kill the process. See if that helps.

Installing the CDT

We start by assuming you installed Eclipse and can run it. If not, consult Eclipse's Web site for getting up and running. Let's install the CDT. The CDT is an Eclipse plug-in, so it uses Eclipse's Software Updates feature. Select Help > Software Updates > Find and Install.

Figure 1. Eclipse Software Updates

Next, you'll want to choose Search for new features to install.

Figure 2. Search for new features

Eclipse C Tutorial

If you're using a newer version of Eclipse, the Callisto or Europa discovery sites should be included. (Editor's note: Since this was written in April 2007, the Europa release was still in the planning stages. However, installing Europa is expected to be similar to Callisto.) Simply select it and click Finish.

Figure 3. Callisto Discovery Site

Eclipse might ask you to choose from a list of mirror sites for the Callisto Discovery Site. Pick whatever one seems closest to you. You should see a list of plug-ins from the Callisto Discovery Site. You'll want to select C and C++ Development and click Next.

Figure 4. Available Callisto plug-ins

You'll be asked to accept the license for the CDT. Once you've done that, you can click Next. You'll see a summary of what's going to be downloaded and installed. Simply click Finish.

Figure 5. Download and installation summary

Eclipse's Update Manager will then download the CDT plug-in from the mirror site you selected earlier. The CDT is about 11 MB total, so this could take a few minutes, depending on your Internet connection speed. Once everything is downloaded, you'll be asked to confirm that you want to install the new features. Click Install All.

Figure 6. Confirm installation

After you finish installing CDT, you'll be asked to restart Eclipse. Go ahead and do that. Once Eclipse restarts, the CDT will be ready to go.

Windows configuration

If you're running Eclipse on Linux or Mac OS X, you're ready to start using the CDT to develop a C++ application. If you're on Windows, there might be a few more steps. As mentioned, CDT relies on the standard GNU C++ development tools: g++, make, and GDB. These are usually included on Linux or Mac OS X. They're usually not included with Windows. But don't worry. These tools can be easily installed on Windows. Perhaps the easiest way is to install Cygwin. Cygwin provides Linux-like environment on Windows (see Related topics). When installing Cygwin, you'll be asked to pick the packages you want to install. Make sure to go into the development section and select gcc: g++, make, and GDB. This will cause their prerequisites to be installed, too.

Once you're done installing Cygwin, you'll need to add g++, make, and GDB to your path. The easiest way to do this is to add Cygwin's bin directory to your path, since that's where g++, make, and GDB can be found. Once that's done, restart Eclipse.

Playing the lottery

At this point, we should be ready to start developing our application with CDT. Let's pause to figure out what we want to develop. The sample application is a simple command-line program for generating lottery numbers. Many states have lotteries, and the rules vary quite a bit. We'll allow the user to pick which state lottery he wants to generate numbers for. This will provide us a good way to use C++'s support for polymorphic behavior.

Creating the project

Eclipse uses the concepts of perspectives to allow for various plug-ins to customize their commands and views. Eclipse starts off by default in the Java perspective. CDT includes its own perspective, so we'll want to switch to that. To do that, select Window > Open Perspective > Other. You should see a list of perspectives available to you. Select the C/C++ perspective and click OK.

Figure 7. Select C/C++ perspective

Eclipse should now look something like Figure 8.

Figure 8. The C/C++ perspective

Eclipse organizes your code into projects, so we'll want to create a new project. Select File > New > Managed Make C++ Project.

Figure 9. New C++ project

You might have noticed there were several different options for the project. We wanted a C++ project. We selected a 'Managed Make,' since that will allow Eclipse to create the make file for us. You could select a 'Standard Make' flavor and write your own make file. We should now be in the New Project wizard, where we'll name our project Lottery and click Finish.

This will create an empty project, which you should see in the C/C++ Projects window. Right-click on the project and select New > Source Folder. This will bring up the 'New Source Folder' wizard, where we'll name our folder src and click Finish.

Basic lottery

We're ready to start creating some code. We'll start by creating the executable of our application. Right-click on the source folder we just created and selected New > Source File, as shown in Figure 10.

Let's create an empty main method for now. This is just a placeholder; we'll add more to this after we've created the rest of our project.

Save your project, and Eclipse will make it for you automatically. You should see some output in the console indicating that it compiled successfully.

We're ready to create our first class. Right-click on the source folder we just created and select New > Class.

Figure 10. New class

This should bring up the New Class wizard. We'll give our class a namespace lotto, and we'll call our class Lottery.

Figure 11. Lottery class

Eclipse will now create stubs for your class. CDT does a lot of nice things for you. It generates the appropriate compiler directives in the header file. It encourages best practices by generating separate interface (Lottery.h) and implementation (Lottery.cpp) files. It encourages another best practice by making your class' destructor virtual. We can enter the source code for these classes as seen in Listings 1 and 2.

Listing 1. Lottery.h

Listing 2 shows the implementation file for the Lottery class.

Listing 2. Lottery.cpp

What's this code doing? Well, our Lottery class has two attributes. The ticketSize attribute is the number of numbers on the lottery ticket. The maxNum is the maximum number on the ticket. Later, we'll use the Florida state lottery as an example. There, you pick six numbers from 1 to 53, so ticketSize would be 6 and maxNum would be 53.

The generateNumbers method generates an array of numbers corresponding to the numbers on a lottery ticket. It uses the STL function rand() to generate numbers randomly. The allNums array is used to keep track of what numbers have been generated so far, so we can make sure we don't get a duplicate number on our ticket. Finally, the printTicket() creates a string representation of our ticket.

When you save the files, Eclipse builds your project automatically. Again, if you save the project, it should be compiled and you should see compilation messages in the console, as shown in Listing 3.

Listing 3. Compiler output in console

MegaLottery class

You might have noticed that we made the printTicket() method virtual when it was declared in the header file. That will allow us to subclass Lottery and override this method. We wanted to do that because some states have a lottery with a 'mega' number. This is a separately drawn number that any ticket must match in addition to the other numbers drawn. Let's create a MegaLottery class for these states that will subclass Lottery.

Once again, right-click on our source folder and select New > Class, as we did earlier. This time in the New Class wizard, we'll declare our new class in the same namespace, but call it MegaLottery.

Figure 12. MegaLottery class

To subclass Lottery, select the Add button next to the Base Classes section. This will bring up the Choose Base Class dialog. You can start typing the name of the class, and Eclipse will narrow the list of base class candidates quickly. You'll want to select Lottery and click OK.

Figure 13. Choose base classes

We can enter the code for MegaLottery, as shown in Listings 4 and 5.

Listing 4. MegaLottery.h

Listing 5 shows the implementation file for the MegaLottery class.

Listing 5. MegaLottery.cpp

The main difference between Lottery and MegaLottery is that MegaLottery has an extra attribute maxMegaNum. This is the max value that the mega number can take. It overrides the printTicket() method. It uses the base class to generate the first part of the ticket, then it generates the mega number and appends it to the string representation of the ticket.

We just need a way to create the various lotteries. We'll use a class Factory Pattern to do this. We'll do this by adding a LotteryFactory class. We want all Lotteries to come from the same factory, so we'll make LotteryFactory a singleton. The code for it is in Listings 6 and 7.

Listing 6. #ifndef LOTTERYFACTORY_H_

Eclipse C Download

Listing 7 shows the implementation file for the LotteryFactory class.

Listing 7. LotteryFactory.cpp

The LotteryFactory has an enum of the different types of lotteries. We've only put in Florida and California in the example, but it shouldn't be hard to add as many as you want. The LotteryFactory's constructor seeds the rand() function used by our lottery classes. We just need to implement our executable's main method.

Listing 8. Main.cpp

Running the program

We're ready to run our program. Select Run > Run.

Figure 14. Choose base classes

Select C/C++ Local Application and click the New button.

Figure 15. New C/C++ run profile

This will bring up the Create run configuration interface for the Lottery project. You'll need to select its executable by clicking the Search Project button.

Figure 16. Search project for executable

You can select the binary that Eclipse created for you and click OK.

Figure 17. Search project for executable

Just click Run, and the program should run in your console. The code below shows some sample output.

Debugging the program

Our program should run fine, but let's take a look at debugging the application. First, create a breakpoint in our code. Pick a line and right-click next to it and select Toggle Breakpoint.

Figure 18. Create breakpoint

We need to create a debug configuration, much like we created a run configuration. Select Run > Debug.

Figure 19. Create debug configuration

This should bring up the Debug configuration. This is based on the Run configuration, and you shouldn't need to change anything. Just click Debug.

Figure 20. Debug configuration

Once the debugger starts, it will prompt you to switch to the Debugger perspective. Do so. Notice that in the configuration we set things to break automatically at the startup of our main method. Thus, the debugger should break immediately and you should see a screen something like Figure 21.

Figure 21. The debugger

C Dev Eclipse Video


We've built and debugged our lottery application. You can easily add more lottery schemes to it. Some of these could involve additional subclasses. CDT makes it easier than ever to create these classes and class hierarchies, and to run and debug the application to test it.

Eclipse C Development

Downloadable resources

Related topics

Eclipse C Dev

  • Integrate an external code checker into Eclipse CDT (Alex Ruiz, developerWorks): Learn how to execute C/C++ code analysis tools with Codan in Eclipse.
  • Get an overview of the CDT in 'C/C++ development with the Eclipse Platform.'
  • Dig deep into the CDT's architecture in the five-part series titled 'Building a CDT-based editor.'
  • As someone interested in C/C++ development, you might want to check out a trial of IBM's XL C/C++ compiler for Linux or AIX®.
  • Windows developers can learn about migrating to the CDT in 'Migrate Visual Studio C and C++ projects to Eclipse CDT.'
  • Windows developers can also check out the CDT-MSVC project, a project for incorporating Microsoft's compiler and debugger with CDT.
  • Learn about MinGW, the GNU C/C++ tools for Windows included with Cygwin.
  • Download Cygwin a Linux-like environment for Windows. It consists of two parts: A DLL that acts as a Linux API emulation layer providing substantial Linux API functionality and a collection of tools that provide a Linux look and feel.
  • The Eclipse C/C++ Development Toolkit (CDT) download information contains the latest information about the available versions of CDT.
  • Check out the 'Recommended Eclipse reading list.'
  • For an introduction to the Eclipse platform, see 'Getting started with the Eclipse Platform.'
Comments are closed.