How the heck do you develop on Linux?


I need to have a comfortable working environment on Linux, similar to my Visual Studio experience. A good editor which works with the mouse, able to browse the files in my project, great debugger with setting breakpoints with the mouse and stepping with the keyboard, inspecting variables without using a command line. A convenient build process where I can go to the error or warning line with a mouse click, etc…

How the heck do you guys do this on Linux? I don’t like modal editors like emacs, vim, joe, blow, whatever. I have tried Qt Creator but there are problems with qmake, it wants to rebuild everything all the time and it just seems like a hack. Eclipse doesn’t really seem like a viable option it is so slow and bloated.

Whats a good solution?

Over time i had the same problem.

I’m using Code::Blocks, it has all the stuff i need and you mentioned. I use that on Linux and Windows at work (i can’t install VS on my company laptop).

Debugging is nice, you can step over code inside the editor. It does a better job the VS when it comes to intellisense (for some reason it works much better the VS).
You can do precompiled headers, it supports parallel jobs when building.

It takes some time to get used to, but over all the stuff i’ve used (eclipse, netbeans, codelite, qtcreator, scite) it looks like a complete package.

QtCreator supports cmake, so that might be an option too?

Lately I’ve been using kdevelop, specially for its python integration.

I mostly just edit in OSX and then build it from the linux command line… Whenever I’ve really had to debug something, I’ve used kdevelop. But I agree, I haven’t found an IDE on linux that I can stand using.

1 Like

Eclipse actually works really well for C++ projects. I use this platform on a daily-basis (although in windows, not linux) for other quite big (non-juce) projects. It has great code navigation- and code completion features, it even does simple refactoring in C++ code with OK results (visual studio lacks this feature).

You just need to spend some time setting up the project files such that the indexer understands your code and your build environment, and of course also set up the GDB debugger connection (for visual debugging inside Eclipse). If the Introjucer would support generation of Eclipse project files, I’m sure it would be a really great JUCE IDE, not only in Linux, but also on Windows with MinGW.

Seconding Jules’ answer.

You have this nice cross-platform development system - develop on your favorite platform, and then compile on the target. I’ve had almost no issues that way.

I like Eclipse on Linux, interface is nicer and handles better than other IDEs. I always struggle getting Juce projects to compile from Eclipse though. I usually just do that from the console. Introjucer eclipse configuration would be nice, but I suspect that’s not a popular request.

Jetbrains are coming out with a Crossplatform C++ IDE soon. I really like their other IDEs.

Just finished trying and uninstalling Code::Blocks. I couldn’t figure out how to not make the IDE window full-screen.

I never thought that “Fullscreen” is a feature of a good IDE (or any IDE).

Here on windows i have View->Full Screen and it works, i’m on:
Code::Blocks svn:8982 build 12Apr 2013 wx2.8.12

Just finished trying and uninstalling Code::Blocks. I couldn’t figure out how to not make the IDE window full-screen.[/quote]

Whatever window manager you have installed should do that.


This looks intriguing - Visual Studio to Linux bridge:

I’ve used Eclipse on two different embedded projects. I don’t care for it myself.


The obvious solution is Jules’ magical live C++ system. But that’s vaporware at this point - some cool tech demos, but he hasn’t hinted about anything more concrete.

Maybe you could have a look at Netbeans - not yet tried it on Linux though but it works very well on Windows (tried it with MingW + GDB only but it also can be used with the MS compiler
It has a very clean and responsive interface, project settings philosophy very close to VS (AFAICR) and offers all the bells and whistles one could wish and more :slight_smile:


Here’s an article from Dr Dobbs, "13 Linux Debuggers for C++ Reviewed"

CodeLite? Comes with all the features you’d expect from an IDE. It’s also very simple to set up a project which build using an Introjucer makefile.

I was able to make considerable progress using Qt Creator. I can now build my program, have split paned editor with syntax colouring and symbol references, launch the debugger with a hot key, set breakpoints with the mouse, and do visual inspection of the program state with the mouse and tables.

Still haven’t figured out how to make the .cpp that don’t get compiled appear in the project browser. But it builds and runs!

Speaking for myself, I usually just define those as header files. Not a perfect solution, but works.

Speaking for myself, I usually just define those as header files. Not a perfect solution, but works.[/quote]

Yep, I tried that but I want to use wildcards so I don’t have to maintain it every time i add/remove/rename in the Windows project (which is my main environment). The directories appear twice >.<

Interesting.. not just for Linux development.  Jetbrains has a page with info on their upcoming crossplatform C++ IDE.

In the form at the bottom ( beta version registration ) they ask what libraries / extensions you frequently use. 

Juce is one of the 7 items checkable.


here's the link:

Codeblocks has a Visual Studio project import feature.

I just tried it and so far it's working fine. I generated an old VS 5.0 project from Introjucer, went to code blocks, imported (VS 7.0 actually), and viola! My project was all setup and sorted into directories etc.

I haven't spent a lot of time with it yet.

Hope jules isn't dropping support for VS 5.0 very soon :)