Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Last time I used C++ - in the late 90's, Borland CPP Dev studio 5 was the dominant product for Win 32's. Obviously the landscape has changed a great deal since then. I have been using Delphi and VisualStudio for many years so my expectations from an IDE are high.

What are the best options out there today for a C++ IDE. I'll be using the tool mostly for QT development, so a cross platform solution would be nice, although not mandatory.

Have considered going with C++ builder Starter Edition and simply removing their vendor specific components and libraries, or MS VC++ Express - although I'm not sure if QT works with those compilers or if I really want to use a product that will inevitably try its hardest to pull me into using their proprietary features.

Are the bundled QT tools sufficient for general C++ work? What else is out there? I am open to OpenSource solutions that are refined and well supported.

share|improve this question

11 Answers

up vote 13 down vote accepted

Give Code::Blocks a try. It's an open source, cross-platform, C++ IDE. I've used it myself for C development and find it does the job quite well.

share|improve this answer
Lots of good suggestions and help but I'm giving Bernard credit for the answer because he was clear on Code::Blocks and I downloaded and installed and it's a very nice IDE indeed with lots of project templates, including for Qt, wxWidgets, etc - didn't expect anything nearly as good from an open source product. Will also try Qt Creator but I prefer something that's 'platform agnostic'. – Mikey Jul 14 '11 at 4:40
Qt Creator is very platform agnostic, I run it on multiple flavours of Linux, OS X and Windows on a daily basis and it works the same across the board. – Nicholas Smith Sep 13 '11 at 8:29
@Nicholas Smith - I've been switching between QtCreator and Code::Blocks - I like that CB is generic openSource but I run into a lot of extra work configuring search paths for different libs etc - QtCreator is slick and does everything with Qt seamlessly of course. – Mikey Sep 13 '11 at 13:49

Others you may be interested in are Code::Blocks, Bloodshed Dev-C++, Eclipse also has a C++ plugin, and I recall that NetBeans might have one too.

share|improve this answer
2  
Has Bloodshed being updated in the last few years? I though it was dead and being bundled with an ancient gcc version. – Vitor Braga Jul 13 '11 at 14:11
@Vitor Braga: I'm not sure, it's been a number of years since I've used it. The current webpage lists version 5 as being in beta, but no indication of how long it's been like that.UPDATE: Looking at the main Bloodshed page, it looks like the last update to Dev-C++ was in 2005. :( – FrustratedWithFormsDesigner Jul 13 '11 at 14:15
3  
February 21th 2005 : Dev-C++ 5 Beta 9.2 (4.9.9.2) released !. The project is just dead, as far as I know. I hope you're not offended by this, but I would recommend you to edit your post and remove it. It's dead, it bundles an ancient gcc version. There are way, way better options than it out there. There's no reason to use it. – Vitor Braga Jul 13 '11 at 14:20
I have Bloodshed - had hopes for it - be I refuse to use something that hasn't gotten past a 6 year old beta release... – Mikey Jul 13 '11 at 14:39
1  
@Mikey - Someone seems intent on bringing Dev-C++ back from the dead: orwellengine.blogspot.com – Moshe Sep 13 '11 at 5:05

Qt will obviously work with MSVC. I don't think VS tries to pull you into any vendor specific extensions, you can generate pretty standards conforming code with it. My only problem with it is that it generates a few very, very silly warnings. There's a header (from a SO user, actually) that disables most/all of it.

Qt Creator is also nice. It can use both g++ or MSVC compilers. I prefer using MSVC on Windows and g++ on Linux, but it's a matter of personal choice.

I wouldn't touch a product from Borland right now. The companies keeps changing it's name, being sold, being spinned off, and so on. I wouldn't trust it.

On the plus side, using a normal text editor like vim and emacs also works beautifully with Qt. Go vim, go! :)

share|improve this answer
Embaracedaro owns the Borland tools for a couple of years now and they're doing a pretty good job - (support stinks IMO, but core products are solid). Delphi XE is the best release they've put out in years. – Mikey Jul 14 '11 at 2:46
@Mikey Great to hear that then. I'll check it out. I miss Object Pascal a bit :) – Vitor Braga Jul 14 '11 at 2:47
They went off the deep end for a while, trying to imitate VS and screwed up the IDE big time after Delphi 7. But now they have gotten back to the 'Delphi Roots' - XE rocks IMO, except for the help, which is sub-par. But they have modernized the language a great deal - all kinds of cool features including generics, dictionary classes, built in JSON support that finally gives you a nice easy to use cross platform remoting framework in Delphi... not your grandfather's TurboPascal.... LOL – Mikey Jul 14 '11 at 4:35
And in the C++ side, the compiler is modern, fast, standards compliant and allows use of delphi components / mixed source, includes the VCL, includes the stl, includes boost, and more and more. I've been using it for a couple of years and for a native win32 (and now... with XE2... MacOS) development it is pretty damn good. – quickly_now Jan 2 '12 at 10:28

Emacs is a very extensible, open source, feature-rich IDE. It's installed on most Linux machines and comes with Mac OS X. It's also available for Windows.

I prefer Emacs over other editors because I can easily automate tasks and switch between source files.

I use the command line version daily for C++ development with clang for syntax highlighting and auto-completion; and clang for compiling.

share|improve this answer

Eclipse CDT is another cross-platform option you can consider. I like Code::Blocks but I think it's not as feature rich as what you're used to, but it is neater to use (in my view).

share|improve this answer

If you are going to use QT a lot, I suggest QTCreator, it's quite nice, portable, and all documentation and wizards for QT are very well integrated.

Otherwise, I prefer Eclipse + CDT (because I mostly work on Linux).

share|improve this answer

You could try integration of QT with XCode. I know some people who have done this, although I personally would not go down this path. I prefer Qt Creator because it has much better integration with Qt syntax, UI designing, and debugging. Furthermore it looks/pretty much is the same across all platforms!

share|improve this answer

Ultimate++

U++ is a C++ cross-platform rapid application development framework focused on programmers productivity. It includes a set of libraries (GUI, SQL, etc..), and an integrated development environment.

Rapid development is achieved by the smart and aggressive use of C++ rather than through fancy code generators. In this respect, U++ competes with popular scripting languages while preserving C/C++ runtime characteristics.

The U++ integrated development environment, TheIDE, introduces modular concepts to C++ programming. It features BLITZ-build technology to speedup C++ rebuilds up to 4 times, Visual designers for U++ libraries, Topic++ system for documenting code and creating rich text resources for applications (like help and code documentation) and Assist++ - a powerful C++ code analyzer that provides features like code completion, navigation and transformation.

TheIDE can work with GCC, MinGW and Visual C++ 9.0 as contained in free Windows Vista SDK and contains a full featured debugger. TheIDE can also be used to develop non-U++ applications.

share|improve this answer

Just for completeness sake: vim is what I use. It has omni completion and a plethora of tips on how to use it with C++.

share|improve this answer

The KDevelop is very good IDE and cross-platform that you should consider it.

The IDE supports many build systems include qmake, cmake, gnu make, gun autotools.

share|improve this answer
Looks interesting - how does it handle Python? How does it compare to QtCreator? – Mikey Jan 4 '12 at 8:09
yes, that's Interesting. The QtCreator is a young software, and just support C++(it can't support template class in a good way). But this IDE can handle some other language. I'm sure you can find a good help for using with Python. – softghost Jan 4 '12 at 10:26

I have used Eclipse with CDT on my linux machine for a couple of years now and my only complaint is that the intellisense just can't compare with visual studio. That said, eclipse is a really great environment. It generates make files for you, has a great integrated build environment, and is pretty good with debugging. Once again, it's not visual studio but its the best IDE I have found on non-windows machines. I have never had any problems that weren't my fault in eclipse building programs with sometimes complex dependency trees.

If you are using windows, hands down go with Visual Studio. And yes QT will compile and link just fine in visual studio versions >= 2008, http://dcsoft.wordpress.com/2010/01/30/how-to-setup-qt-4-5-visual-studio-integration/ . I think I might remember gtk+ not linking in visual studio because it has to be compiled with cygwin, but it has been a couple of years and I am not sure.

share|improve this answer
1  
GTKmm has VS libraries available. It works just fine. – Vitor Braga Jul 13 '11 at 15:03
good, that solves that. – Jonathan Henson Jul 13 '11 at 15:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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