C++ IDEs for Linux

Started by
34 comments, last by fluffybeast 9 years, 12 months ago

I guess this was one of the main reasons SDL dropped LGPL in favor of zlib.

Nope, it was literally SDL developers noticing people like you that get nervous when they hear "LGPL". So they changed their licence to something else that was less likely to flip the switches of some people.

There is also the issue of iOS, WP and consoles, complying with the LGPL on a restricted platform is virtually impossible.

On Android you can be compliant but due to the lack of dynamic linking it is still a hassle. (you need to provide object files for re-linking the apk just like you would if you used static linking on the PC)

Using QT with the LGPL license on Win/Mac/Linux isn't a problem, just link dynamically.

These days when a large number of games has to run on mobile devices and consoles the LGPL is becoming very restrictive and its best to only use LGPL libraries for tools or for Win/Mac/Linux ports.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Advertisement

I am very comfortable with g++, gdb,vim and make combination, but im consider switching to QT Creator for bigger programs(because ease of management), I am still not sure, though :) But, I have no idea how to build projects with additional libraries like openGL, in QT tools :( :D

Deltron Zero and Automator.


I've always wondered, how do you effectively debug a program on the command line? Do you really use GDB on the command line? I can't imagine doing that without an IDE to show me variable watches, stack, memory dump, and disassembly.

Yes, gdb from the command line. Sure beats firing up some ghodzawful GUI monstrosity just to run a debugger.

Now, running gdb in batch mode when you don't have command-line access (eg. debugging the display server during startup failures) is a challenge. Inconvenient, but doable, unless you require a GUI, in which case shove over and let someone who knows what they're doing take over.

Then again, I cut my teeth using real VT100 terminals and 300 bps modems, so I don't see command-line anything as an obstacle.

Stephen M. Webb
Professional Free Software Developer

As several others have already noted, QtCreator is a viable option. I recently saw a talk by Bruce Dawson from Valve that provides a nice 'getting started' info. You can check it out on the Steam Dev Days page here.

I spend about half of my day job hours coding in C and C++ for embedded Linux. There, I primarily use vim/gdb/ctags/etc., mostly because of the specialized build environments and the need to flexibly build on remote servers.

When I *do* choose to use an IDE, I've only found two for Linux that really work well for me: NetBeans and Eclipse. I'm not a big Eclipse fan (the other half of my day job is spent coding Java, where I avoid Eclipse like the plague), but CDT is probably the best overall editing experience for C++ (auto-complete, refactoring, etc. all work reasonably well). If only they'd drop the damn Workspace idiom already. At least CDT can work with makefiles, so I can work around some of its more annoying aspects when I need to.

NetBeans is a close second to CDT, primarily because some of the features don't work quite as well and because NetBeans is missing some tools integration (e.g., valgrind). An example of a feature that doesn't work quite as well in NetBeans as in Eclipse CDT is the fact that, in NetBeans, semantic rename of a function parameter doesn't change the declarations, only the definition and uses -- CDT gets the declarations as well). OTOH, it's a much cleaner environment than Eclipse, and, since I often use it for Java work, it's one less set of key bindings I need to keep in memory.

I've recently made a survey of the modern alternatives, looking at reasonably current versions of Code::Blocks, CodeLite, and KDevelop. None of them come close to NetBeans or Eclipse CDT at this time, IMHO. I do need to give a current version of QTCreator a shot, though. Last time I tried it, it didn't impress me much, but I know full well that apps can evolve rapidly.

[edit: spelling and typos, oh my!]

I too use vim, as I like being able to write code without moving my hands away from the keyboard. It takes some getting used to, but it's worth learning. And besides, I've never found a full-fledged IDE for Linux that I like

As for compiling, I have my own crude build system which uses qmake to generate a make file which is then compiled.

And when it comes to debugging I have no problems using just the command line and gdb to get a backtrace in case of segfaults.

This topic is closed to new replies.

Advertisement