All software listed here is free unless explicitly stated otherwise:
The GNU g++ compiler comes in various packages. It’s pretty much the same compiler. What varies are the supporting libraries.
Before installing a compiler, look at the IDE (below) that you want to use. Some will already include a copy of a compiler.
Linux users: use your Linux distribution’s normal mechanism for loading new software packages to install g++.
As a general observation, both of these ports are high-quality and should work well for you.
OS/X users can obtain the g++ compiler via Apple’s XCode program. You need to register with Apple as a developer, but registration (and the software) is free. The entire XCode package is rather large, but you don’t need that whole package. You get the compiler by installing the smaller “XCode Command Line Tools” package. (Actually, you get two C++ compiler suites this way: GNU g++ and the LVM clang suite. Both are actually good quality compilers, and you may want to eventually try them both out. It’s fairly easy two switch from one to another by changing project settings in your IDE.)
An IDE (Integrated Development Environment) is a package that helps you work with an editor, compiler, and debugger and generally provide some support for orgranizing your code into projects..
Some IDE’s come with a compiler suite included. All can be used with compilers that you have downloaded separately, though not every IDE can work with every compiler. Downloading the compiler separately may make it a bit trickier to get started with the IDE (you may need to tell it where you have put the downloaded compiler) but may make it easier to update the compiler when new releases are available.
Recommended: Code::Blocks for Windows or Linux machines. This is the IDE practiced in the labs for this course.
Windows users can download the binary release that includes the MinGW port of g++. If you have already downloaded and installed MingW or CygWin g++, then download a Code::Blocks distribution without the pre-packaged compiler.
Linux users should install g++ first, then download and install Code::Blocks.
As of summer 2013, I don’t recommend Code::Blocks for OS/X (Mac) machines, as the debugger support seems to be broken.
Equally Recommended: Eclipse for Windows, Linux or OS/X machines. A more professional-level environment than Code::Blocks, Eclipse is probably the most widely used IDE in the open source community. You will find lessons on using Eclipse in CS252, Compiling and Developing under X.
Eclipse comes in many varieties. C++ programmers will want to start with the “Eclipse IDE for C/C++ Developers). (All of these varieties differ from one another only i nthe set of plugins and extensions installed at startup. You can add all the features on another ”variety" at a later date.)
Eclipse does not come with a C++ compiler. You will want to install a compiler first, then install Eclipse. With luck, Eclipse will try to find the compiler the first time you run it. If it can’t, you will need to tell it where you have put your compiler.
Not recommended: Dev-C++
A lot of people in this Dept have grown fond of Dev-C++ package from Bloodshed Software. But I don’t recommend it because it has gone so long since it’s been updated (Feb 2005). The compiler version packaged with it is now badly out of date.
The following programs will allow you to generate PDF from any Windows program that allows printing. Generally, these create a special printer that writes to a file instead of to a physical output device. (Note that increasing numbers of Windows programs support options for direct generation of PDF. Such built-in generation is usually preferable to the fake printer approach.