About this book

Code::Blocks is a free C++ IDE designed to meet the extensive demands of C++ developers. Code::Blocks is very extensible and can be easily configured to maintain a consistent look and feel in your application across multiple platforms. If you are looking to develop cross-platform applications using C++, then this book is for you.

This book provides practical explanations for application development with C++ and Code::Blocks. You will get to grips with the many aspects of professional application development with the help of real-life examples. As you proceed through the chapters, you will see yourself effectively working with and implementing advanced C++ features in your application.

The book begins with an introduction to Code::Blocks and detailed instructions on how to install and configure it. You are then introduced to the process of application development with the help of real-life examples. Throughout the course of the book, you will learn how to develop GUI-based applications painlessly. The book also places special emphasis on debugging the application. The later sections take a closer look at using third party C++ libraries and how to implement wxWidgets to develop cross-platform applications. By the end of this book, you will know everything you need to know about C++ application development with Code::Blocks.

Publication date:
October 2013


Chapter 1. Getting Started with Code::Blocks

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.


Why Code::Blocks?

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.


Installing Code::Blocks on Windows

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:

  1. 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.

  2. Double-click on this file and run it. You'll be presented with the following screen:

  3. 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.

  4. Click on I Agree to accept the License Agreement. The component selection page will be presented in the following screenshot:

  5. 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.

  6. Select Full Installation and click on Next button to continue. As shown in the following screenshot installer will now prompt to select installation directory:

  7. 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.

  8. As shown in the following screenshot Code::Blocks will now prompt us to run it after the installation is completed:

  9. Click on the No button here and then click on the Next button. Installation will now be completed:

  10. Click on the Finish button to complete installation. A shortcut will be created on the desktop.

This completes our Code::Blocks installation on Windows.


Installing Code::Blocks on Linux

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:

  1. 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 install wxGTK package via the package manager, as shown in the following screenshot.

  2. 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
  3. 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.

  4. The following window will be displayed. Click on the Install button to begin installation, as shown in the following screenshot:

  5. 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.

  6. 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.


First run

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.


Introduction to important toolbars

Toolbars provide easier access to different functions of Code::Blocks. Amongst the several toolbars following ones are most important.

Main toolbar

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.

Compiler toolbar

The compiler toolbar holds commonly used compiler related commands. From left to right there are build, run, build and run, rebuild, stop build, build target buttons. Compilation of C++ source code is also called a build and this terminology will be used throughout the book.

Debugger toolbar

The debugger toolbar holds commonly used debugger related commands. From left to right there are debug/continue, run to cursor, next line, step into, step out, next instruction, step into instruction, break debugger, stop debugger, debugging windows, and various info buttons.



In this chapter we learnt to download and install Code::Blocks. We also learnt about different interface elements. In the next chapter we shall start coding in C++ with Code::Blocks.

About the Author

  • Biplab Kumar Modak

    Biplab Kumar Modak is an open source software developer. He has 20 years of software development experience in various languages. He is one of the core developers of Code::Blocks—an open source, cross-platform IDE that supports various compilers. He has over 10 years’ experience in open source development with C++. He is also familiar with various popular languages such as C, C#, Visual Basic, VBA, Pascal, Python, and R. He has over 15 years of experience with C++. His grasp and capability in C++ is highly credited.

    He is also interested in database-related development, OpenGL, Multi-threaded programming, and web development. His open source development stints have taught him how to deal with multiple compilers on various operating systems. They also helped him develop a better understanding on the subject.

    When it comes to delivering theory along with practical usage of C++ on various platforms, he considers himself one of the most suitable one to show you the practical side of application development with C++.

    Browse publications by this author

Latest Reviews

(2 reviews total)
thought book was so-so; I actually wanted more info on Code:Blocks menu items and what they do; it only covered the most basic of these -- more oriented to the C++ stuff
Detailed introduction to the Code::Blocks IDE.
C++ Application Development with Code::Blocks
Unlock this book and the full library FREE for 7 days
Start now