3

I want to pick up C/C++ programming (after a gap of many years) for a project. I have 3 main objectives....

  1. Be able to use some static libraries (so as to not re-invent the wheel) as part of the application i have to build

  2. Be able to build distributable static libraries

  3. Be able to program comfortably

I'm looking for an IDE which allows me to do (1), (2) and (3) somewhat painlessly on a Windows machine ... and which also has good documentation.

I've looked at other posts and seems like these are some popular options...

  • Code::Blocks
  • Visual studio express edition
  • Dev-C++
  • Eclipse
  • Open Watcom
  • CodeLite

Would be very grateful if some folks can help me along with this with some recommendations and comments!!

1

Personal opinion I would look at the GCC toolchain for the compiler and Code::Blocks for the IDE - I notice that you do not specify your platform for your target development but assume windows.

Points to consider:

GCC

  • Free
  • Stable
  • Lots of online support
  • Cross Platform
  • Supports Cross Compiling
  • ASNI Compliance is better than VC
  • Windows versions from MinGW and Cygwin.

Code::Blocks

  • Free
  • Lots of online support
  • Cross Platform
  • Supports multiple tool chains (including VC)
  • Starts in less than half the time that VC does
  • Supports multiple GUI libraries including wxWidgets
  • Thank you Steve. I will try to configure Code::Blocks IDE with the compiler and let you know how everything goes. I will do this for both Code::Blocks and Eclipse CDT. I do not enough C/C++ compiler configuration experience...so a little uncomfortable with the setup steps. Are there any good resources for this? Another question...i understand GCC is the GNC C Compiler. What does the suffix tool-chain really imply? – Amit Sep 5 '14 at 3:41
  • gcc is the Gnu Compiler Collection but also the command for the running the compiler front end - it then figures out which actual compiler, assembler, linker, etc., to run. If you install it first to the default location then Code::Blocks will detect it and offer it as what to use for new projects. Start at mingw.org if you are targetting windows only. I would also suggest taking a look at wxWidgets. – Steve Barnes Sep 5 '14 at 5:13
  • 1
    Did the download & setup. Initially got a message saying "can't find compiler executable in your search path". Googled this message and found a resolution @ forums.codeblocks.org The recommended fix worked (3 steps below) for me: 1)go to settings 2)click compiler 3)choose reset to defaults After this i created a 'hello world' console application which it built and ran without any issues! Next, i plan to get comfortable with the IDE, later i will start exporing how to build and use static libraries. All in all - things went quite smoothly. Thank you for your suggestion! – Amit Sep 6 '14 at 22:57
  • Sorry i could not up-vote. I do not have the required 'reputation' :) – Amit Sep 6 '14 at 23:06
4

I regularly do c++ Development work on Windows and my choice over the years has been Eclipse CDT ( C++ Development Tools ). Key Highlights of Eclipse CDT are:

  • Free
  • Very Stable
  • Supports Cross Compilation
  • Integrates well with MinGW and Cygwin
  • Powerful Editor with rich features
  • Vibrant Online Community Support

Eclipse CDT would meet all the 3 objectives you have mentioned. I have not used other editors so I cannot comment about them. But with Eclipse, I have never felt a need to look at other options.

  • Thank you Vimal. I will attempt to setup both Eclipse and Code::Blocks this weekend and let you know how everything goes. I tried Eclipse CDT a few years back but gave up after some fumbling around to try to get the compiler to work with the IDE. Anyways, i will try again and might reach out for more help if i get stuck. Do you know of any good resources for the initial setup and configuration for Eclipse CDT? – Amit Sep 5 '14 at 3:50
0

Eclipse is good and works cross-platform, and it has plugins for different languages. The version with the C++ pluggin is Eclipse CDT (C/C++ Development Tooling). The Eclipse libraries are almost certainly distributable since it is based on free software.

That being said, I have had a lot of frustration getting it to work for a large project using the CygWin/MinGW GCC compiler.

In my opinion, nothing beats MSVS on a Windows platform. It has great support for C/C++ and C#, and the .Net Framework.

MSVS 2013 Express is free and has tons of built in capability--more than I know what to do with after many years of using it. You probably want MSVS 2013 Express for Windows Desktop, but there are other versions: Express 2013 for Web forExpress 2013 for Windows web development, for writing Windows Phone and Windows Store apps, and there is the Team Foundation Server 2013 Express for collaboration among group of programmers.

As for distributing libraries, I have developed a set of my own static and dynamic link versions libraries, which are stored on my local hard drive along with the associated include files. I just set the paths and library names on properties pages within MSVS. If I chose to, of course I could distribute them. I'm pretty sure Microsoft allows distribution of their libraries that are required to run your programs. If you move on to .Net programming, the MS DLLs are included with the .NET Framework, which most Windows users will already have.

  • Welcome to Software Recommendations, and thanks for sharing your ideas! However, this post needs some improvements to be useful; it especially lacks links to the recommended software, plus pointing out how it fulfills the requirements specified by the OP. For more detailed hints, please read our discussion on what makes an answer high quality – then edit your post and see if you can incorporate some of these improvements into your answer. Thanks in advance! – Izzy Oct 23 '14 at 9:27
0

Before I switched to CLion (which is paid, so doesn't go as the aswer) I enjoyed

CodeLite

http://codelite.org/

Personally I liked CodeLite because of:
1. It was Code Light - blazingly fast
2. Has good code completion
3. Has sane project/subprojects management (which I dislike in CDT for example)
4. Cross platform

But you can find full feature list here:

http://codelite.org/Main/ReadMore

QtCreator

https://www.qt.io/ide/

Even if Qt Creator is related to Qt (which, maybe, you could use?) it can pretty well work as a standalone IDE

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.