In CS106A, we'll be using Stanford's customized version of Eclipse to build our programs. Eclipse is an enormously popular industrial-strength Java environment with many features. Fortunately, Eclipse is also open source -- anyone is free to change Eclipse to work the way they want. We have taken advantage of that freedom to install special Stanford features into Eclipse, tailoring it specifically for CS106A. This document gives instructions on how to get started using Stanford Eclipse. Please pay close attention to these instructions and do not skip steps!
- Eclipse For Mac Os
- Install Eclipse On Mac
- Eclipse Mac Download
- C++ For Mac Download
- Eclipse Java For Mac
Contents
Link to How to install Java JDK on Mac OS X This Video tells you how to download Eclipse IDE for Mac OS X. In this tutorial, we. On the contrary, Java Runtime Environment (JRE) only contains a virtual machine (runtime environment) and thus using it you can only run Java code, not compile it. Because Eclipse is itself written in Java, you need a JRE to run. Bottom line: since you intend to developer C and not Java applications you need only to download JRE.
Mac Installation |Windows Installation |Configuring Eclipse for CS106A |I need help!Installing Eclipse on a Mac
Stanford Eclipse will only work on Mac OS X version 10.6 or higher. If you don't have that version of the operating system, you'll need to either upgrade or do your class work in a public cluster.
- Download and install the Java SDK installer for Mac
- Download the Mac version of Eclipse
- Double-click on the file eclipse-mac.dmg to open the Eclipse disk image(You can delete eclipse-mac.dmg afterwards).
- Drag the Eclipse app into the Applications folder on your Mac.
- Drag the Eclipse icon from your Applications folder to your Dock to create a shortcut.
- Click on the icon in the dock to open Eclipse. If you see an error that says Eclipse 'can't be opened because it is from an unidentified developer,' right-click on the Eclipse icon and select 'open' instead. You will be able to open Eclipse without right-clicking from now on.
- Skip to the instructions below to configure Eclipse for CS106A.
Installing Eclipse in Windows
Our version of Eclipse will run on Windows 7 (2009) or higher. In the very unlikely event you have an older version of Windows on your computer, you will need to either upgrade or do your class work in one of the public computer clusters. You can check your version of Windows using these instructions.
- Uninstall previous versions of the Java Runtime Environment (JRE). Before installing a new version of the JRE, we recommend that you remove any older copies that may be installed on your system.
- If you have Windows 7 or 8, do the following: Click on Start, then click on Control Panel, then select Programs and Features.
If you have Windows 10, do the following: Click on Start (the Windows icon in the lower left-hand corner), then click on Settings (the gear-shaped icon), then select Apps & Features.
- From the list of programs you see, uninstall any occurrences of Java/J2SE Runtime Environment, Java SDK, Java SE Development Kit or Java Update. Note that the exact program name may be slightly different or include a version number, but you generally want to remove anything that includes the text: Java/J2SE Runtime Environment, Java SDK, Java SE Development Kit or Java Update. To remove a program, click on the program name to highlight it and click the the Uninstall button.
- If you have Windows 7 or 8, do the following: Click on Start, then click on Control Panel, then select Programs and Features.
- Download Eclipse.
Save the downloaded file to somewhere on your hard drive. This may take a little while as the file is rather large. - Unzip/extract the contents of the file by right-clicking on the folder you just downloaded, selecting the Extract All... option and typing C:Program Files as the location to extract the files to. Then continue following the steps in the extraction process.
- Create a shortcut to Eclipse on your Desktop for easy access — Open the C:Program Fileseclipse directory, and right-click and drag the eclipse.exe file (the Eclipse application) to your desktop and then select the option Create shortcut here.
- Continue to the instructions below to configure Eclipse for CS106A.
Note: If you installed the 64 bit versions of the software, and find that you have issues running Eclipse, we recommend that you uninstall Eclipse by deleting the C:Program Fileseclipse directory and install the 32 bit versions of both: the JRE 32 bit version for Windows and Eclipse 32 bit version for Windows, in that order.
Configuring Eclipse for CS106A (both Mac and Windows)
Once you have Eclipse installed on your computer, there are a few CS106A-specific changes you need to make so that you can access some special Stanford features, like submitting assignments. The following instructions apply to all operating systems, although the screenshots are from a Mac.
- Open Eclipse if you haven't already. When you run Eclipse for the first time, you may get a screen that looks like this:
A workspace is just a directory that Eclipse will use to place new projects in. In 106A you won't have to make any new projects from scratch. We will always give you skeleton projects for your assignments, so you don't need to worry about where the workspace is. The suggested location is fine. Click the Use this as the default and do not ask again checkbox, and then click OK. - Once Eclipse has started, you can close the 'Welcome' tab using the 'X' in the top left.
- Click Help -> Install New Software.
- In the 'Work with' text box, type https://web.stanford.edu/dept/cs_edu/eclipse/plugin and press Enter.
- Click 'Select All,' then click Next.
- Click Next again.
- Click 'I accept the terms of the license agreement,' then click Finish.
- Click OK when you see the warning about installing unsigned content.
- Click Yes when asked to restart Eclipse.
- After restarting, you should see a 'Stanford Menu' in the top bar, as well as several new icons in your top toolbar area.
- Go to Eclipse -> Preferences to open the Preferences window. In the dropdowns on the left, expand Run/Debug, and click Perspectives. Set 'Open the associated perspective when an application suspends' to Never, as shown below, and click Apply and Close.
- Now that you have Eclipse loaded and configured, your next step is to add a project to your workspace by importing a skeletal framework that we provide with each assignment called a starter project. Using starter projects makes your life much easier by allowing you to ignore the many details involved in creating a project from scratch. Every assignment will include a starter project for each problem, and your first task for each assignment will be to download the starter project from the class website and then import it into your workspace. The details for doing so are described in the handout 'Using Karel with Eclipse'.
Having trouble with your installation?
Check out this doc for common Eclipse errors and issues / Troubleshooting, email the Head TA or stop by their Office Hours, or stop by the LaIR. During the first week, you can also stop by the Eclipse Setup Session on Wednesday 4/4/18 7-9 PM in the LaIR (first floor of Tresidder).
Troubleshooting
- Q: Eclipse is showing an error in the Console 'Could not save C++ lib configuration file.' Do I need to worry about this?
A: No. This error should not affect the running of your programs, and you can ignore it. - Q: Help! I don't see the 'running person', submit, import, etc. icons or the 'Stanford Menu' in my Eclipse.
A: This means the Stanford Plugin is not installed; please repeat the steps under 'Installing the CS106A plugin' above. - Q: My Eclipse window doesn't look like the ones in the screenshots or in lecture. I'm missing some of the panels (e.g. the sidebar showing all my projects). Help!
A: Click the 'Reset' button in the Stanford Menu to reset to the default view. You may also be in Debugger mode instead of Editor mode; use the Stanford Menu to go back to Editor mode. - Q: Eclipse is not letting me import a project. It gives me a warning at the top of the import window that 'Some projects cannot be imported'.
A: This is because a project with that name is already imported into Eclipse. If you would like to import this project, you must first delete the existing project by right-clicking the project in the sidebar and selecting 'Delete'. You can then choose whether to delete the project from your computer as well, or just delete the project from Eclipse. - Q: When I run a Karel program, it immediately crashes with an 'Unsupported Version Error'.
A: This means Eclipse is using Java 9, which is not compatible with running your programs. See the solution to the following question about being unable to run programs. - Q: When I click the running person icon to run programs, Eclipse gives me an error that it 'could not find any programs to run', even though I have a project imported with programs.
A: This means Eclipse is using Java 9, which is not compatible with running your programs. To change Eclipse to use Java 8 instead, follow these steps:- Open Eclipse Preferences: On Mac: in the top toolbar, go to Eclipse -> Preferences. On Windows: in the top toolbar, go to Window -> Preferences.
- Change JRE version to 8: In the sidebar of the preferences window, expand the 'Java' section. Click on 'Installed JREs'. If the checked option is a version of Java SE 9, instead check the box next to Java SE 8 [1.8.0_152]. Click 'Apply' in the bottom right.
- Change Compiler version to 1.8: In the sidebar of the preferences window, click on 'Compiler'. If the 'Compiler compliance level' is 9, change it to 1.8. Click 'Apply' in the bottom right.
- Close the preferences window. You should be good to go!
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.
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
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.
Eclipse For Mac Os
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_
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
Install Eclipse On Mac
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
Summary
Eclipse Mac Download
C++ For Mac Download
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.
Downloadable resources
Related topics
Eclipse Java For Mac
- 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.'