I have a friend who is trying to make the switch to Linux, but is hung up on the apparent lack of debugging/IDE environments for C++, especially as they relate to template programming. He has been using visual studio for years and is maybe a little spoiled by their awesome IDE. Does anyone have any good suggestions for an environment where he can, under Linux, develop and debug with all of the usual things (Breakpoints, line highlighting for compilation errors, step in/over/out/etc, etc) that he's accustomed to? Thanks!
-
3Your friend is in for a world of hurt. It is hard to beat MS Dev Studio for a one-stop shop for development tools... – Tim Oct 20 '09 at 18:57
-
Not really. I only touch Visual Studio when I'm building Windows applications. If I'm building a cross platform app (including in C++), I'll open up NetBeans first. – Thomas Owens Oct 20 '09 at 19:05
13 Answers
How about Eclipse + CDT ?

- 43,505
- 7
- 82
- 96
-
1Eclipse + CDT is probably the worst IDE I've ever used. The C++ indexer is horrid causing periodic freezes and not to mention the excessive warnings/errors that Eclipse spits out about boost::bind ambiguities. – Ospho Aug 07 '14 at 06:04
Although many people think of it as a Java IDE, he could try NetBeans. I've used it on Windows for C and C++ development without a problem, and I know NetBeans is supported on Linux, so it would be worth a shot.
It looks like most of the features he wants are included in the C/C++ development toolkit, including integration with GDB, a profiler, and more.

- 114,398
- 98
- 311
- 431
Visual Studio is good, indeed.
On the free side:
Qt Creator is getting quite good too, it's worth a try. There are advantageous by-products coming from the Qt framework:
- huge library - not only to build GUI applications but for other domains as well
- portability on multiple platforms
A version 1.3 beta is available as a preview of the upcoming release but the current 1.2.1 is already all you need to manage projects.
Eclipse has already been mentioned, it's a very good environment offering many plug-ins (Mylyn, SVN, ...).
MonoDevelop somewhat supports C++ (more and more, I didn't check the latest version).

- 11,309
- 6
- 37
- 49
I've used Eclipse for C/C++ and it's pretty useful. It's also used at ACM ICPC World Finals http://cm.baylor.edu/welcome.icpc

- 1,158
- 2
- 11
- 23
I'd recommand Code::Blocks (but use a nighty build). It can be coupled with gdb to enable step by step debugging and all that stuff.

- 19,126
- 5
- 52
- 83
Not exactly an IDE but SublimeText 2/3 is available on Linux now. There may be a debugger plugin for it too, who knows.
Edit
Here's a gdb plugin for SublimeText
-
Couldn't run this plugin due to configuration issue https://forum.sublimetext.com/t/gdb-you-have-not-configured-the-plugin-correctly/14496 – mishadr Mar 21 '22 at 16:29
About 7 years ago I used KDevelop that was shipped with KDE. I found it quite good back than, and I hope it also improved with the time. I found it quite comparable to VC++ 6 at this time.
It also contains Qt support, if you are in need for some GUI toolkit.

- 24,478
- 5
- 49
- 58
-
-
The OP wants something on par with MSVC. KDevelop3 doesn't cut it :P – Matt Joiner Oct 22 '09 at 10:29
-
And in which aspects? What is missing? The feature list here: http://www.kdevelop.org/index.html?filename=3.5/features.html shows all the OP wants. – Frank Bollack Oct 22 '09 at 12:08
I havn't explored it personally, but Emacs has a C++ development addon that looks very much like a full IDE.

- 39,638
- 28
- 112
- 212
-
1I have a coworker that swears by it. He's an emacs guy though, you know how *they* are. :) – hiwaylon Dec 12 '13 at 13:06
Depends, Code::Blocks is good, Eclipse is very nice too, but you will need a very good computer. In my opinion the best choice iss gcc, gdb and ViM or Gedit.

- 28,769
- 59
- 194
- 300
-
1In my experience it's not possible to set up the debugger to get the tools that you get in Visual studio in either of these. – Brandon Pelfrey Oct 20 '09 at 18:46
-
1I run Eclipse on 5 or 6-year old computers without any issue, not sure what you mean? – RedGlyph Oct 20 '09 at 19:04
My buddies from work use Eclipse + Scons, they also use Valgrind(spelling?) for tracking memory leaks and such.

- 19,435
- 18
- 63
- 87
-
Valgrind, that's correct. Very good tool to detect memory leaks and profile or debug multithread programs! That you cannot use with Windows unfortunately ;-) – RedGlyph Oct 20 '09 at 19:08
-
Amazingly, some people actually valgrind through Wine. I mean it works, but ... wow. :p – Brandon Pelfrey Oct 20 '09 at 21:29
Many of the IDE features you listed were debugger features. The ddd (Data Display Debugger) debugger is quite a nice GUI wrapper for gdb, allowing graphical representation of data structures, a non-crappy source listing window (ie. unlike the l command of gdb where you don't get context), and also allows you to use any and all native gdb commands directly if desired.

- 7,848
- 7
- 48
- 82
Have a look at CodeLite. It's available for Ubuntu and Fedora out of the box and even for Windows and Mac. So you can have the same IDE on different platforms.
We tried Eclipse and NetBeans but left them due to their huge CPU and memory usage. We have a development server and all the developers connect to it via RDC. Thats why these IDEs miserably failed in our model.
So, we looked for some native IDE. Found CodeBlocks to be very good and super fast. We sort of settled on it but later found CodeLite and liked it better than CodeBlocks.

- 2,542
- 4
- 36
- 42

- 11
- 1
I just seeing this question after 12+ years. AnyHow I just writing my answer. I personally use Quincy IDE for C and C++ development. it is very lite weight and debugging watch list is very much good and easy to use. I'm just attaching the link to the site. try it.
But you have to install it with wine.

- 31
- 5