Skip to main content
GameDev.net gamedev.net
🔒 Locked

Linux C++ IDE

Started by daniel_i_l Jul 1, 2008 at 1:14 PM 26 replies 4.1k views
Original Post
daniel_i_l
daniel_i_l
What C++ IDE would you reccommend for linux? Are there any that have debugging capabilities that come close to VC++? Thanks.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
GenuineXP
GenuineXP
I'd suggest Eclipse (CDT 4.x) or MonoDevelop. In my experience, those are the most polished C++ capable IDEs for Linux. Anjuta is another popular C++ IDE, but I've had a terrible experience with it (crashed every five minutes) and, IMHO, it is very ugly.

At the moment, I work on many of my projects "the Linux way". That is, with a good text editor and a few terminals. :-)

MonoDevelop has some cool packaging features and decent makefile integration. It doesn't offer built-in debugging for C/C++ though, which is a bummer.

The CDT is pretty nice, and exposes great toolchain and build options. In my experience, it is very sluggish though. Also, not much for debugging.

In any case, I'd try those two out, so long as you don't mind installing a JRE or Mono.

I would suggest learning about gdb and valgrind. I'm hoping someone starts developing a functional GUI-based debugger for Linux soon...
Ahnfelt
Ahnfelt
I'm currently using KDevelop, which isn't really the best C++ IDE, but it's not bad either (and I'm using Qt, so it's the natural choice for me right now).

NetBeans 6.0 (for C++) has quite a lot of goodies like intellisense, which makes development a tad sweeter. It's worth checking out.
AnthonyS
AnthonyS
Quote:
Original post by daniel_i_l
What C++ IDE would you reccommend for linux? Are there any that have debugging capabilities that come close to VC++?
Thanks.


Emacs + Konsole works for me. For debugging compile with the -g option and use gdb. Also get to know the make utility, it's very easy after you get used to it.
Simian Man
Simian Man
I'd recommend using ddd over plain old gdb. It is ugly as sin, but is much easier to use.
AnthonyS
AnthonyS
Quote:
Original post by Simian Man
I'd recommend using ddd over plain old gdb. It is ugly as sin, but is much easier to use.


Thanks, I'll have to check this one out too. How well does ddd handle assembly level debugging?
stonemetal
stonemetal
It is just a gui wrapper for gdb/others.
n00body
n00body
I'd recommend giving CodeBlocks a try. It's an impressive IDE, and well on its way to being a VC++ contender.

[Hardware:] Falcon Northwest Tiki, Windows 7, Nvidia Geforce GTX 970 [Websites:] Development Blog |
Hnefi
Hnefi
Code::Blocks is by far the best. Anjuta and KDevelop are lacking in both features and usability. Code::Blocks is the only IDE I've ever used that comes close to MSVC. I can't recommend it enough.
-------------Please rate this post if it was useful.
nife87
nife87
Quote:
Original post by Hnefi
Code::Blocks is by far the best. Anjuta and KDevelop are lacking in both features and usability. Code::Blocks is the only IDE I've ever used that comes close to MSVC. I can't recommend it enough.


++CodeBlocks

I used CodeBlocks (CB) on Windows before switching to Linux (finally decided on Ubuntu like so many others), and, after trying a bunch of Linux IDE's, since it is not fair to rule out all other Linux IDE's simply because I like CB, I now both use CB for Windows and Linux development. It is by far simply the best free C++ IDE IMHO.
Wyrframe
Wyrframe
I use Eclipse mostly because I use it by policy at work (which I don't mind), so I may as well use the same IDE for my own work at home.

My only kvetch of any note with it is that there is no way to by keyboard alone scan through workspace search results; I have to have the pane open and use the mouse.

It also would be nice to create class and method searches on more than one criteria; methods that contain references to class X, /and/ references to method Z of class Y as well, sort of thing. For work I maintain a Java codebase of 4 MB of plaintext, sometimes a bit more search power would be nice.
RIP GameDev.net: launched 2 unusably-broken forum engines in as many years, and now has ceased operating as a forum at all, happy to remain naught but an advertising platform with an attached social media presense, headed by a staff who by their own admission have no idea what their userbase wants or expects.Here's to the good times; shame they exist in the past.
GenuineXP
GenuineXP
I totally forgot about Code::Blocks. I used it some time ago when I still used Windows at home (in fact, I'm pretty sure I posted questions about it here). It's definitely a very strong IDE and bears some similarity to Visual Studio.

It's a shame the interface is so ugly and doesn't integrate with the operating system or native widget library (I want GTK+ widgets!).
Surrealix
Surrealix
Chalk me up as another code::blocks user. I used it on windows before I made the switch to linux, and after playing around with KDevelop for a while, went back to CB.

My 2 largest gripes about it are the lack of a makefile generator (apparently there used to be one, but it's no longer available/compatible), and the at-times dodgy "intellisense" and autocompletion pop-ups. This isn't to say they're bad, just that Visual Studio spoilt me in this regard :P
Yann L
Yann L
I have a very strong aversion against Code::Blocks. Might just be me though.

Anjuta and KDevelop, I wouldn't touch them with a ten feet pole.

Eclipse + CDT is supposed to be quite OK. However the last time I tried it (half a year ago, or so) I still didn't like it. It was still sluggish, unintuitive and crashed every five seconds on large projects (especially while debugging). YMMV.

I very strongly recommend Netbeans 6.1. It's by far the best publicly available Linux IDE I've ever tried. It's solid, can manage large projects, has good debugger integration, SVN integration, Intellisense, refactoring support (although limited still), and many other nice features. And as a bonus, it actually looks good, which cannot be said of most other Linux IDEs. It also has a pretty active community, is corporate backed by SUN, and constantly updated.
V-man
V-man
I've tried KDevelop but I had problems with it since I couldn't compile anything and it would throw out cryptic error messages. Basically, Kdevelop needed some external lib to be installed (CMake).
I tried Code blocks and later on Eclipse. Code Blocks is not a good performer compared to VC++ on Windows. I tried Eclipse which was better than Code Blocks. Still, nothing comes close to the power and speed of VC++.
GenuineXP
GenuineXP
Quote:
Original post by Yann L
I very strongly recommend Netbeans 6.1.


I've never tried Netbeans. Does it support development in multiple languages (i.e., C++)? I always thought it was strictly a Java IDE.

Seems no one else has any opinions on MonoDevelop. It's C++ support is still very basic, but it looks very promising. It has even more of a Visual Studio look and feel than Code::Blocks (including a GUI builder/palette based on Stetic).

I'm curious about Netbeans now. :-)
Hnefi
Hnefi
Quote:
Original post by V-man
I tried Code blocks and later on Eclipse. Code Blocks is not a good performer compared to VC++ on Windows. I tried Eclipse which was better than Code Blocks. Still, nothing comes close to the power and speed of VC++.

Are you saying that the Code::Blocks interface performs badly (that is, lags) when compared to Eclips? My experience has been the exact opposite; even on a relatively ancient computer, the Code::Blocks interface is very snappy. Or did you mean something else when you say "good performer"?
-------------Please rate this post if it was useful.
GenuineXP
GenuineXP
I just downloaded, installed, and tried out Netbeans 6.1 (after installing 6.0.1 from the Ubuntu Hardy repository... whoops).

I imported one of my project, which was a snap. It also features pretty decent makefile integration. For some reason, it also generates its own makefiles. One nice aspect is that the Netbeans project files are not mixed in with any original source code or project directories. Instead they reside in their own directory, which is very clean compared to IDEs like Code::Blocks which dumps project and dependency files everywhere.

Intellisense and autocompletion certainly aren't perfect (I haven't seen a single IDE best Visual Studio in this regard yet). It still can't seem to parse smart pointer dereferences for some reason.

It has a very nice functionality to look and feel ratio. It's emulation of native widgets is sketchy and sometimes obvious, but it looks fairly nice and balances this out with honest to goodness features. It also runs more quickly than I expected, seeing as it uses a JVM (and Eclipse runs quite slowly).

All in all, I'm impressed. I've only just played with it, but I'd recommend taking a look, at least.

Thanks for the suggestion.
OmegaHelm
OmegaHelm
I'm a Netbeans believer, been using it to code C/C++ for some months now. Plus, it supports a lot of different languages with more coming. SUN has a big interest in Netbeans C/C++ as I believe they use the code as a base for the their own C/C++ ide.

Quote:
It still can't seem to parse smart pointer dereferences for some reason.


I've noticed that this can be a bit sketchy too. Sometimes it works right away, some times it doesn't.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.