Codeblocks: free cross platform C++ IDE

Martin Brinkmann
Mar 29, 2013
Development
|
10

So I finally made the decision to learn a new programming language. I started my career as a programmer back when I got my first C-64. After lots of gaming I decided it was time to create my own Football Manager in Basic. The project did not really went that far but I taught myself the basics in a matter of days.

Later on I dabbled a bit in Java, and then went full steam ahead in to the online world with HTML and PHP. I always wanted to learn C++ but never got around to it until now. I did order a book a couple of days ago and decided to spend at least an hour a day learning the programming language.

I first thought I could use Microsoft's Visual Studio as the IDE to code my stuff but this unfortunately did not work out as my Technet subscription did not include the editor at all. So, I went with the Open Source solution Codeblocks.

Codeblocks is a cross platform application that you can run on Windows, Linux and Mac systems which should cover the majority of computer users out there. Installation on Windows should not be a problem at all as binaries are provided for Windows users.

What you may run into then however is that you will be getting a missing compiler error when you start the program or try to build your projects. So, after some searching around I stumbled upon MinGW which you can use for that purpose. Just install the latest version of it on your system, restart Codeblock and it should be picked up automatically by the program. This is not the only compiler you can add to the program though, so if you prefer a different one it should be picked up automatically as well. It supports the likes of Borland C++ 5.5, MSVC++ or Digital Mars among others.

The program is easy to use even for a beginner. You can create a new project right away and use the toolbar or keyboard shortcuts to build and run it on your system. I can't really comment on how well it works if your programming gets complex though as I'm just a beginner and not an expert yet. Still, if you want to start learning the C++ language and are looking for an editor to assist you in that, I suggest you give it a try as it is well suited for that.

While we are at it. If you are already coding in C++, do you have any learning suggestions or resources? I'm grateful for any suggestion, be it a book, video, text tutorial, website, service, code snippets or whatever else you find useful in this regard.

Advertisement

Previous Post: «
Next Post: «

Comments

  1. Swapnil said on March 30, 2013 at 12:37 am
    Reply

    I agree with Anthony Frazier about Visual Studio Express. Unless you want to do the very professional sort of coding, like the one done in large applications, you should be happy with Visual Studio Express. The free product is perfectly well for learning.
    Although C# and JavaScript are better languages, most software you pick on Windows is written in C++. C++ is in extensive use, so it’s definitely not a bad choice for learning.
    C++ has lots of good sources for learning, but if I was to select a book, I would select a Professional C++ book from Wrox Publications. I really like their C# book, and the C++ books should also be very good. They also have Beginner books available.

  2. Anthony Frazier said on March 29, 2013 at 6:28 pm
    Reply

    If you want a premier IDE on Windows, Visual Studio Express is the way to go for free. I’m with the other commenter wondering “Why C++?” It’s not a bad language by any means, but I’d rather be working in C# or JavaScript. I’ve heard really good things about Python as a language too, but haven’t got around to learning it yet. I’d stay as far away from PHP as possible for a learning language — there’s so much horribly written and flat out insecure code out there that unless you already have a strong grounding in programming fundamentals it’s impossible to tell whether you’re doing things properly and you can’t tell if the code you just googled was written by a genius or a fool.

    1. Martin Brinkmann said on March 29, 2013 at 7:28 pm
      Reply

      JavaScript is on my to-do list as well.

  3. Karl J. Gephart said on March 29, 2013 at 6:03 pm
    Reply

    It depends on whether you want to code on the sever-side or client/browser side. Many people dabble in each to decide. If you’re solid in HTML and PHP, you could expand in each area. CSS would be the next progression from HTML. PHP (based in C) will help you to learn JS. Or, once you are solid in CSS (targeting and selectors), you could next learn jQuery and then learn JS. Then, you could go from PHP to Ruby. There are 2 sources I really like. The “Teach Yourself Visually” softbound book series is great for CSS and HTML. Lynda.com is a great series for a lot of languages! Well worth the monthly fee. When I’m not coding in WordPress, but FTP instead, IMHO, nothing beats Dreamweaver. Initially, I learned a lot of HTML by switching from design to coding views. I love Sublime Text 2 as well–it has a lot of free add-on packages (beats the heck out of Notepad++). Good luck, Martin!

    1. Martin Brinkmann said on March 29, 2013 at 7:28 pm
      Reply

      Thanks I will keep you all updated on how I progress.

  4. DNS666 said on March 29, 2013 at 3:59 pm
    Reply

    Code::Blocks is a really nice IDE. I regularly use it to do coding in C++ and Fortran (yes, people still use Fortran).

    As for books, I’ve always liked the two “Thinking in C++” volumes by Bruce Eckel:
    http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

    May I ask, though: Why did you decide to pick up C++? If I were to recommend a modern compiled systems programming language worth picking up on, my vote would go to Go (http://golang.org; IDE: https://code.google.com/p/golangide/; Introductory book: http://www.golang-book.com/).

    1. Martin Brinkmann said on March 29, 2013 at 7:26 pm
      Reply

      I always wanted to learn it and I have a friend who coded in the language for a very long time which will help me when I’m stuck or need advice. I’m planing to get to know it and evolve from there. In the end, I’d like to code mobile apps as I have a couple of great ideas in this regard but I have not really looked into it that much yet.

      1. Modder said on April 3, 2013 at 7:44 pm
        Reply

        Java is only for Android and Obj-C if only for iOS.
        C++ will work with Android, BlackBerry, iPhone, Windows Phone, and others.

        What’s better, many C++ multimedia (and other) libs are already ported to mobile:
        http://shakuro.com/blog/view/frameworks-for-cross-platform-mobile-development
        http://visualstudiomagazine.com/articles/2013/02/12/future-c-plus-plus.aspx

        There are also portable C++ frameworks for mobile:
        Marmalade: http://www.madewithmarmalade.com/
        MoSync: http://www.mosync.com/
        gameplay: http://www.gameplay3d.org/

        With other languages you may run into portability issues — for instance, GUI libs in “desktop Java”, like AWT or Swing, won’t be supported on Android:
        http://stackoverflow.com/questions/3897775/using-awt-with-android
        http://stackoverflow.com/questions/9096691/java-awt-swing-code-to-be-ported-to-android-ndk

      2. Martin Brinkmann said on April 4, 2013 at 2:16 am
        Reply

        Thanks for clarifying that.

      3. Anthony Frazier said on March 29, 2013 at 7:31 pm
        Reply

        You’re looking at the wrong language for mobile apps. :-) It’s Java for Android and Obj-C for iOS. I’ve always found that having a project to work on helps maintain motivation.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.