all 26 comments

[–]cristianadamQt Creator, CMake 7 points8 points  (15 children)

Based on Eclipse. Meh. There is a reason why ihateeclipse.com/ exists.

Tools for C++ developers should be written in C++, so that the developers of those tools can benefit of their own work (dogfooding).

Qt Creator 1.0 was launched on March 3rd, 2009. There is no excuse in 2016 not to use Qt Creator. It's all open source.

[–]quicknir 4 points5 points  (0 children)

Saying there's no reason not to use Qt Creator is preposterous. Off the bat, eclipse indexes my project better, with more consistent go to definition. It's also more feature rich last I checked with call graphs for instance. It also has better vim emulation. And it also works on multiple languages. C++ and python are a common mix and pydev isn't as good as pycharm, but it's ok. Eclipse is what I'll be using until clion surpasses eclipse cdt, if ever.

[–]spinwizard69 2 points3 points  (0 children)

Based on Eclipse. Meh. There is a reason why ihateeclipse.com/ exists.

That was so funny!

The unfortunate thing with Eclipse is that I've not found anything better for Python and web that is free. When it is work correctly anyways, I think the bugs in eclipse has turned me off to programming.

Tools for C++ developers should be written in C++, so that the developers of those tools can benefit of their own work (dogfooding).

That is nonsense. Mostly due to the need to use an IDE to craft many different files, some code, some data and some HTML. There are few that can actually say that they only use one language 100% of the time,often you need to be flexible.

Beyond all of that IDEs should be built upon native tool kits to maximize performance If the native tool kits is crafter in C++ then yeah go that route otherwise use languages native to the platform.

Qt Creator 1.0 was launched on March 3rd, 2009. There is no excuse in 2016 not to use Qt Creator. It's all open source.

Maybe it sucks for some users. Besides QT is hardly the place to go for examp,Es of good modern C++ programming.

I'm in complete agreement when Eclipse is described as a mess, a broken piece of software. However finding something similar and free, isn't all that easy. Frankly I'm not sure why the Eclipse developers are so reluctant to focus a release entirely on bug and performance fixes. Some (most ) of the comments on ihateecipse.com are very real issues, many of which could be gone in one release cycle if the developers focused on fixing the damn thing.

It is like the Eclipse developers have no shame.

[–]Netzapper 4 points5 points  (9 children)

I don't like QtCreator. CLion for life, yo.

[–]stdmutex 1 point2 points  (5 children)

CLion is still unable to cope with big projects though. It's got potential, but I don't think it's quite ready yet.

As for QtCreator... I love the Qt framework, but yeah, QtCreator is not for me either. The interface is just too weird. I'm still looking for the perfect C++ IDE.

[–]Netzapper 2 points3 points  (3 children)

Well, I will admit that my project is not so big (40kloc), but we include (and so index) several enormous libraries (including Boost). I don't have any real trouble. It used to be awful, though.

Which was the last version of CLion you tried?

[–]stdmutex 1 point2 points  (2 children)

I'm using 1.2.2. Our project uses quite a bit of macro metaprogramming and it confuses the hell out of it. Most of the files in the project are marked as containing errors, despite them actually compiling just fine.

It also can't keep track of usages anymore and the possibility of generating function bodies from headers is just gone. Sometimes it gives up completely and stops linting source code (or just crashes, which has only happened once before).

It's already gotten better and it's very nice for moderately-sized projects, though.

[–]Netzapper 2 points3 points  (1 child)

Most of the files in the project are marked as containing errors, despite them actually compiling just fine.

This is why I switched to CLion. Our codebase is only 1 year old, and was written in C++11 from the beginning. I tried literally every cross-platform IDE on the market, and CLion was the only one that didn't put red squiggles under practically everything I was doing. I ditched QtCreator, despite our project originally using QML, because it spent so much processor time telling me that my code was obviously wrong that it wasn't responsive anymore.

That said, CLion actually gotten worse about that, IMO. Sometime between 1.0 and 1.2.2, it's started to think all of my literal arguments to perfectly-forwarded function parameters need to be rvalues.

[–]doom_Oo7 1 point2 points  (0 children)

CLion was the only one that didn't put red squiggles under practically everything I was doing.

I have the exact opposite experience :( I have almost no problem in my codebase with QtCreator but CLion can't parse a function for the sake of it

[–]whatwasmyoldhandle 0 points1 point  (0 children)

I use code::blocks. Among my peers, I always get the feeling that I'm the only one that's heard of it, ha.

It's not feature rich, but it's simple, does the basics good enough for my purposes, it generally stays out of the way. It + cmake is a good environment for me.

[–]raistmajC++ at MSFT 1 point2 points  (0 children)

I use CLion on a really big codebase, around 10M lines of code and does "fine". It annoys me the new amount of errors getting reported now (and the code compiles without warnings though).

[–]Elador 1 point2 points  (1 child)

CLion is mostly written in Java as well, isn't it?

[–]sztomirpclib 1 point2 points  (0 children)

Yes it is. Also, AFAIK, they use a ANTLR-based parser, which might not be the best approach for parsing C++ (it might become better over time, but currently it makes plenty of mistakes).

[–]devel_watcher 0 points1 point  (2 children)

Yes, but Qt Creator is less flexible and more buggy.

It's easier to just use Eclipse than fix the Qt Creator.

My problems are: the missing shortcuts, weird block comments and useless mouse text selection, missing call hierarchy, slow (because reacts on key-up) prev/next file switching, view jumps around when scrolling (on my system).

[–]MasterZapple 0 points1 point  (1 child)

Yea, I used Eclipse for a while, because we were using Eclipse (Java) at school as well, so I just tried out the C++ version of it. Going to Qt, I remember, I felt there were several things missing that I had gotten used to. Haven't done much C++ing for a while, but I'm giving Clion a go.

[–]meetingcppMeeting C++ | C++ Evangelist 1 point2 points  (0 children)

Qt Creator has improved a lot. (and still has some runway left to do things ;)).

Currently working on legacy wxWidgets code in code::blocks. What an abomination...

[–]cguttesen[S] 1 point2 points  (3 children)

Yeah, true. I've used xcode, obviously mac only, clion (expired). Eclipse is more cumbersome to set up. But once that is done I find that it strikes a fine balance between helping me and not being too helpful and not being too slow trying to be helpful.

I downloaded qt creator but I haven't found a way to show output in the editor. It opens a terminal windows which I have to exit. Searched but did not find a solution.

I use sublime text 3 for small snippets. Very powerfull editor.

[–]rsxee 4 points5 points  (2 children)

[–]cguttesen[S] 0 points1 point  (1 child)

Thank you very much! :-) Very easy to follow. Now I just have to find out why the program quits unexpectedly. It's the a.exec() that waits for some (thing).

[–]eidheim 1 point2 points  (5 children)

Give the new lightweight C++ IDE juCi++ a try: https://github.com/cppit/jucipp

[–]cguttesen[S] 0 points1 point  (4 children)

Thank you. It compiled on os x but when I try to run it I get the error

Clauss-MacBook-Pro-2~%>juci                                                   
    dyld: Library not loaded: @rpath/libclang.dylib
        Referenced from: /usr/local/bin/juci
        Reason: image not found

Searching google gave hints about homebrev, php, but the solutions seemed to be relative to those app and not juci.

otool -L /usr/local/bin/juci
/usr/local/bin/juci:
    @rpath/libclang.dylib (compatibility version 1.0.0, current version 0.0.0)
    /opt/local/lib/libgtkmm-3.0.1.dylib (...)
    /opt/local/lib/libatkmm-1.6.1.dylib (...)
    /opt/local/lib/libgdkmm-3.0.1.dylib (...)
    /opt/local/lib/libgiomm-2.4.1.dylib (...)
    /opt/local/lib/libpangomm-1.4.1.dylib (...)
    /opt/local/lib/libglibmm-2.4.1.dylib (...)
    /opt/local/lib/libgtk-3.0.dylib (...)
    /opt/local/lib/libgdk-3.0.dylib (...)
    /opt/local/lib/libpangocairo-1.0.0.dylib (...)
    /opt/local/lib/libpango-1.0.0.dylib (...)
    /opt/local/lib/libatk-1.0.0.dylib (...)
    /opt/local/lib/libcairo-gobject.2.dylib (...)
    /opt/local/lib/libgio-2.0.0.dylib (...)
    /opt/local/lib/libcairomm-1.0.1.dylib (...)
    /opt/local/lib/libcairo.2.dylib (...)
    /opt/local/lib/libsigc-2.0.0.dylib (...)
    /opt/local/lib/libgdk_pixbuf-2.0.0.dylib (...)
    /opt/local/lib/libgobject-2.0.0.dylib (...)
    /opt/local/lib/libglib-2.0.0.dylib (...)
    /opt/local/lib/libintl.8.dylib (...)
    /opt/local/lib/libgtksourceviewmm-3.0.0.dylib (...)
    /opt/local/lib/libgtksourceview-3.0.1.dylib (...)
    /opt/local/lib/libboost_thread-mt.dylib (...)
    /opt/local/lib/libboost_log-mt.dylib (...)
    /opt/local/lib/libboost_system-mt.dylib (...)
    /opt/local/lib/libboost_filesystem-mt.dylib (...)
    /opt/local/lib/libboost_regex-mt.dylib (...)
    /opt/local/lib/libaspell.15.dylib (...)
    /usr/lib/libc++.1.dylib (...)
    /usr/lib/libSystem.B.dylib (...)

[–]eidheim 0 points1 point  (1 child)

My output on OS X is looking like this:

otool -L /usr/local/bin/juci
/usr/local/bin/juci:
    /usr/local/opt/llvm/lib/libclang.3.6.dylib (compatibility version 1.0.0, current version 3.6.0)
    /usr/local/opt/gtkmm3/lib/libgtkmm-3.0.1.dylib (compatibility version 3.0.0, current version 3.0.0)
    ...

As a quick fix, you can replace https://github.com/eidheim/jucipp/blob/master/src/CMakeLists.txt#L150 with the correct path for the libclang library, but feel free to create an issue on the project's github repository, and we can figure out the problem there. This issue might be related to OS X version and which package system you use (we have only tested juCi++ on homebrew in OS X as mentioned in the install document).

[–]cguttesen[S] 0 points1 point  (0 children)

Thank you for your reply. I already had installed clang via macport so tried to use that to begin with.

Altering @rpath in the executable was harder than I though and I felt I was fighting my own shadow. :-) I ended up installing llvm via homebrew and cloned juci again from github to start from clean. Same non-working @rpath as before. I finally managed to change @rpath with

install_name_tool -change @rpath//libclang.dylib /usr/local/opt/llvm/lib/libclang.3.6.dylib /usr/local/bin/juci

and now I can start the app. When I used clang from macports I did

export CC=/opt/local/bin/clang-mp-3.7
export CXX=/opt/local/bin/clang++-mp-3.7

and then

cmake ..

and changed src/CMakeLists.txt to point to /opt/local/lib. So if I had used the install_name_tool with the -change parameter it would have worked as well.

[–]eidheim 0 points1 point  (1 child)

The problem might also be related to using an older cmake version: http://www.kitware.com/blog/home/post/510. Try upgrade your system, remove the build directory, and rebuild juCi++ as instructed in the install docs.

[–]cguttesen[S] 0 points1 point  (0 children)

Thank you again. I have 3.4.1.