While writing this book, Code::Blocks—12.11 was the latest stable release available. This release comes with GCC 4.7.1 compiler for Windows. We'll use this release for C++ development throughout this book. In this chapter, we'll download Code::Blocks, install and learn more about it.
Before we go on learning more about Code::Blocks let us understand why we shall use Code::Blocks over other IDEs.
It is a cross-platform Integrated Development Environment (IDE). It supports Windows, Linux, and Mac operating system.
It supports GCC compiler and GNU debugger on all supported platforms completely.
It supports numerous other compilers to various degrees on multiple platforms.
It is scriptable and extendable. It comes with several plugins that extend its core functionality.
It is lightweight on resources and doesn't require a powerful computer to run it.
Finally, it is free and open source.
Our primary focus of this book will be on Windows platform. However, we'll touch upon other platforms wherever possible. Official Code::Blocks binaries are available from www.codeblocks.org. Perform the following steps for successful installation of Code::Blocks:
For installation on Windows platform download
codeblocks-12.11mingw-setup.exe
file from http://www.codeblocks.org/downloads/26 or from sourceforge mirror http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup.exe/download and save it in a folder.Double-click on this file and run it. You'll be presented with the following screen:
As shown in the following screenshot click on the Next button to continue. License text will be presented. The Code::Blocks application is licensed under GNU GPLv3 and Code::Blocks SDK is licensed under GNU LGPLv3. You can learn more about these licenses at this URL—https://www.gnu.org/licenses/licenses.html.
Click on I Agree to accept the License Agreement. The component selection page will be presented in the following screenshot:
You may choose any of the following options:
Default install: This is the default installation option. This will install Code::Block's core components and core plugins.
Contrib Plugins: Plugins are small programs that extend Code::Block's functionality. Select this option to install plugins contributed by several other developers.
C::B Share Config: This utility can copy all/parts of configuration file.
MinGW Compiler Suite: This option will install GCC 4.7.1 for Windows.
Select Full Installation and click on Next button to continue. As shown in the following screenshot installer will now prompt to select installation directory:
You can install it to default installation directory. Otherwise choose Destination Folder and then click on the Install button. Installer will now proceed with installation.
As shown in the following screenshot Code::Blocks will now prompt us to run it after the installation is completed:
Click on the No button here and then click on the Next button. Installation will now be completed:
Click on the Finish button to complete installation. A shortcut will be created on the desktop.
This completes our Code::Blocks installation on Windows.
Code::Blocks runs numerous Linux distributions. In this section we'll learn about installation of Code::Blocks on CentOS linux. CentOS is a Linux distro based on Red Hat Enterprise Linux and is a freely available, enterprise grade Linux distribution. Perform the following steps to install Code::Blocks on Linux OS:
Navigate to Settings | Administration | Add/Remove Software menu option. Enter
wxGTK
in the Search box and hit the Enter key. As of writing wxGTK-2.8.12 is the latest wxWidgets stable release available. Select it and click on the Apply button to installwxGTK
package via the package manager, as shown in the following screenshot.Download packages for CentOS 6 from this URL—http://www.codeblocks.org/downloads/26.
Unpack the
.tar.bz2
file by issuing the following command in shell:tar xvjf codeblocks-12.11-1.el6.i686.tar.bz2
Right-click on the
codeblocks-12.11-1.el6.i686.rpm
file as shown in the following screenshot and choose the Open with Package Installer option.The following window will be displayed. Click on the Install button to begin installation, as shown in the following screenshot:
You may be asked to enter the root password if you are installing it from a user account. Enter the root password and click on the Authenticate button. Code::Blocks will now be installed.
Repeat steps 4 to 6 to install other rpm files.
We have now learned to install Code::Blocks on the Windows and Linux platforms. We are now ready for C++ development. Before doing that we'll learn about the Code::Blocks user interface.
On the Windows platform navigate to the Start | All Programs | CodeBlocks | CodeBlocks menu options to launch Code::Blocks. Alternatively you may double-click on the shortcut displayed on the desktop to launch Code::Blocks, as in the following screenshot:

On Linux navigate to Applications | Programming | Code::Blocks IDE menu options to run Code::Blocks. Please note that in subsequent chapters of this book we'll limit our discussion mostly to the Windows platform. However, usage of Code::Blocks and C++ development (excluding platform specific areas) remain the same over both platforms.
Code::Blocks will now ask the user to select the default compiler. Code::Blocks supports several compilers and hence, is able to detect the presence of other compilers. The following screenshot shows that Code::Blocks has detected GNU GCC Compiler (which was bundled with the installer and has been installed). Click on it to select and then click on Set as default button, as shown in the following screenshot:

Do not worry about the items highlighted in red in the previous screenshot. Red colored lines indicate Code::Blocks was unable to detect the presence of a particular compiler.
Finally, click on the OK button to continue with the loading of Code::Blocks. After the loading is complete the Code::Blocks window will be shown.
The following screenshot shows main window of Code::Blocks. Annotated portions highlight different User Interface (UI) components:

Now, let us understand more about different UI components:
Menu bar and toolbar: All Code::Blocks commands are available via menu bar. On the other hand toolbars provide quick access to commonly used commands.
Start page and code editors: Start page is the default page when Code::Blocks is launched. This contains some useful links and recent project and file history. Code editors are text containers to edit C++ (and other language) source files. These editors offer syntax highlighting—a feature that highlights keywords in different colors.
Management pane: This window shows all open files (including source files, project files, and workspace files). This pane is also used by other plugins to provide additional functionalities. In the preceding screenshot FileManager plugin is providing a Windows Explorer like facility and Code Completion plugin is providing details of currently open source files.
Log windows: Log messages from different tools, for example, compiler, debugger, document parser, and so on, are shown here. This component is also used by other plugins.
Status bar: This component shows various status information of Code::Blocks, for example, file path, file encoding, line numbers, and so on.
Toolbars provide easier access to different functions of Code::Blocks. Amongst the several toolbars following ones are most important.
The main toolbar holds core component commands. From left to right there are new file, open file, save, save all, undo, redo, cut, copy, paste, find, and replace buttons.
