0.5 — Installing an Integrated Development Environment (IDE)

An Integrated Development Environment (IDE) is a piece of software that contains all of the things you need to develop, compile, link, and debug your programs.

With a typical C++ IDE, you get a code editor that does line numbering and syntax highlighting. Many (but not all) IDEs include a C++ compiler and a linker, which the IDE will know how to interface with in order to convert your source code into an executable file. And when you need to debug your program, you can use the integrated debugger.

Furthermore, IDE’s typically bundle a number of other helpful editing features, such as integrated help, name completion, auto-formatting, and sometimes a version control system. So while you could do all of these things separately, it’s much easier to install an IDE and have them all accessible from a single interface.

So let’s install one! The obvious next question is, “which one?”. Many IDEs are free (in price), and you can install multiple IDEs if you wish, so there’s no “wrong decision” to be made here. We’ll recommend a few of our favorites below.

If you have some other IDE in mind, that’s fine too. The concepts we show you in these tutorials should generally work for any decent modern IDE. However, various IDE’s use different names, layouts, key mappings, etc… so you may have to do a bit of searching in your IDE to find the equivalent functionality.

Visual Studio (for Windows)

If you are developing on a Windows machine (as most of you are) and disk space and download size are not a constraint, then we strongly recommend Visual Studio Community 2017. When you run the installer, you’ll eventually come to a screen that asks you what workload you’d like to install. Choose Desktop development with C++. If you do not do this, then C++ capabilities will not be available.

The default options selected on the right side of the screen should be fine, but please ensure that the Windows 10 SDK is selected. The Windows 10 SDK can be used on older versions of Windows, so don’t worry if you’re still running Windows 7 or 8.

Visual Studio Workload

If disk space and/or download size are a challenge, then we recommend Microsoft’s free Visual Studio Express 2017 for Windows Desktop, which you can find towards the bottom of the page.

Code::Blocks (for Linux or Windows)

If you are developing on Linux (or you are developing on Windows but want to write programs that you can easily port to Linux), we recommend Code::Blocks. Code::Blocks is a free, open source, cross-platform IDE that will run on both Linux and Windows.

For Windows users

Make sure to get the version of Code::Blocks that has MinGW bundled (it should be the one whose filename ends in mingw-setup.exe). This will install MinGW, which includes a Windows port of the GCC C++ compiler:

Code::Blocks MinGW Windows download

When you launch Code::Blocks for the first time, you may get a Compilers auto-detection dialog. If you do, make sure GNU GCC Compiler is set as the default compiler and then select the OK button.

Compilers Auto Detection dialog

With Code::Blocks, C++11/C++14/C++17 functionality may be disabled by default. You’ll definitely want to check and turn it on. First, go to Settings menu > Compiler:

Code::Blocks Settings > Compiler

Then find the box or boxes labeled Have g++ follow the C++XX ISO C++ language standard [-std=c++XX]:, where XX is 11, 14, or some other higher number (see the items inside the red box below for examples):

Code::Blocks C++11 setting

Check the one with the highest number (in the above case, that’s the C++14 option inside the red box).

Your version of Code::Blocks may also have support for experimental, or just released versions of C++. If so, this will be labeled Have g++ follow the coming C++11YY (aka C++XX) ISO C++ language standard [-std=c++ZZ] (see the blue box above). You can optionally check these if you would like to enable features in that version, but note that support may be incomplete (e.g. some features may be missing).

Q: I want to enable C++17 features in Code::Blocks, but I don't see a -std=C++17 option

If you see an option for -std=C++1z, that is equivalent (C++17 was called C++1z before they knew what year it would be finalized).

Alternatively, you can go to the Other Compiler Options tab and type in -std=c++17.

Code::Blocks Other Compiler Options

This will work if your compiler has C++17 support. If you’re using an older version of Code::Blocks and C++17 features don’t seem to work, upgrade your compiler.

Q: I'm getting a "Can't find compiler executable in your configured search paths for GNU GCC Compiler" error

Try the following:

  1. In you’re on Windows, make sure you’ve downloaded the version of Code::Blocks WITH MinGW. It’s the one with “mingw” in the name.
  2. Try going to settings, compiler, and choose “reset to defaults”.
  3. Try going to settings, compiler, toolchain executables tab, and make sure “Compiler’s installation directory” is set to the MinGW directory (e.g. C:\Program Files (x86)\CodeBlocks\MinGW).
  4. Try doing a full uninstall, then reinstall.
  5. Try a different compiler.


Popular Mac choices include Xcode (if it is available to you), or Eclipse. Eclipse is not set up to use C++ by default, and you will need to install the optional C++ components.

Although Visual Studio for Mac has been released, as of Aug 2018 it does not support C++, so at this time we can not recommend it.

Can I use a web-based compiler?

Yes, for some things. While your IDE is downloading (or if you’re not sure you want to commit to installing one yet), you can continue this tutorial using a web-based compiler, such as the one at TutorialsPoint.

Web-based compilers are fine for dabbling and simple exercises. However, they are generally quite limited in functionality -- many won’t allow you to save projects, create executables, or effectively debug your programs. You’ll want to migrate to a full IDE when you can.

Can I use a command-line compiler (e.g. g++ on Linux)?

Yes, but you’ll need to find your own editor and look up how to use it elsewhere.

When things go wrong (a.k.a. when IDE stands for “I don’t even…”)

IDE installation seems to cause its fair share of problems. Installation might fail outright (or installation might work but the IDE will have problems when you try to use it due to a configuration issue). If you encounter such issues, try uninstalling the IDE (if it installed in the first place), reboot your machine, disable your antivirus or anti-malware temporarily, and try the installation again.

If you’re still encountering issues at this point, you have two options. The easier option is to try a different IDE. The other option is to fix the problem. Unfortunately, the causes of installation and configuration errors are varied and specific to the IDE software itself, and we’re unable to effectively advise on how to resolve such issues. In this case, we recommend copying the error message or problem you are having into a Google search and trying to find a forum post elsewhere from some poor soul who has inevitably encountered the same issue. Often there will be suggestions on things you can try to remedy the issue.

Moving on

Once your IDE is installed (which can be one of the hardest steps if things don’t go as expected), or if you’re temporarily proceeding with a web-based compiler, you are ready to write your first program!

0.6 -- Creating a console project and compiling your first program
0.4 -- Introduction to C++ development

205 comments to 0.5 — Installing an Integrated Development Environment (IDE)

  • Qaiser

    Really Great Sir Alex.
    You helping the people a lot.
    Bundle of thanks.

  • Arsene

    I keep encountering the same problem when intalling visual studio. I get "A setup package iis eithher missing or damaged" with the following options:
    download the package from the internet
    skip package
    or to provide a location to search for the package
    I keep return to the same error no matter what I chose. I even googled it but I've come up with nothing. What should I do? PS: I have widows 1 upgraded from Windows 8

    • Alex

      I'm not really qualified to diagnose Windows or Microsoft errors. But check out this thread, which has some ideas:
      1) Try downloading an ISO and burning it to a disc (or mount it as a virtual drive), and installing from that.
      2) Make sure you have internet connectivity when installing. Visual Studio apparently needs to install some certificates which it grabs from the web, but it can't do that if you're offline.

  • hey alex!
    i am unable to donload visual studio....
    can i work on (c++ shell)

    • Alex

      I don't know how compliant is with C++ standards. You are welcome to try though! In the worst case, something won't work...

      • soham

        try putting in ur url and see it!

        • Alex

          I did. Since it supports C++14 and console output, it'll work for some of what this tutorial covers.

          However, it's lacking some important functionality:
          * Multiple files. It appears you're limited to one file worth of code. This isn't a problem for simple programs but learning to deal with multiple files in C++ is important, and you won't get that if you use the website.
          * A debugger. This means you'll be limited to debugging your programs visually. That's inconvenient, but not necessarily a showstopper. However, learning to debug things with a debugger is a useful skill to have in your development toolkit.

          So overall, I'd still recommend a real IDE.

  • Simon

    Hi. I'm having some trouble downloading visual c++ express and i would really appreciate any help. i keep getting "ENU package failed" and i'm not sure what to do. I tried searching for solution but couldn't find anything. Should i download the full vs express (wdexpress and the other one) or should i look for a different ide? thanks in advance

    • Alex

      Have you tried the solution at this link?.

      It sounds like something Microsoft related is corrupted. If all else fails you could use Code::Blocks, since it's not going to rely on anything Microsoft.

  • Chester


    I have Code::Blocks on my Windows 8.1 laptop, and I have a question...

    What is the difference between GNU GCC Compiler and Microsoft Visual C++ 2010, or is there no difference?


    • Alex

      There are differences both between the compilers and between the IDEs themselves. However, either one will compile properly written C++ programs into executable files, so which you prefer is really a matter of personal taste.

  • barba mosso

    Hello Alex,

    After some research I've chosen to learn C++ as my first programming language through your website.I'm downloading the Visual Studio at the moment. Just wanted to thank you for your awesome work while (eagerly) waiting.

    Greetings from Istanbul

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">