Using Eclipse with Cinder – A better c++ editor

Using Eclipse with Cinder – A better c++ editor

onedayitwillmake 10 comments
cinder kinect openni

I was really having a hard time with Xcode lately, specifically how its C++ code-completion leaves much to be desired especially if you have a very bad memory. I find myself constantly painfully looking through the header files to find the exact name/case of a function or property.

So I decided to try and see If i could get up and running with Cinder in Eclipse instead, it wasn’t too bad either !!! Just a couple of issues getting the linking right, but that was about it.

Download / Github


Xcode is a great IDE, however it is not great at C++ editing

It provides only very barebones syntax highlighting, even more barebones code completion, and no edit-time error checking.

Cinder is a great library, but it’s very vast – Without code-completion I was very lost/ nearly all the time poking through the header files and opening the .cpp files in other editors so I could learn it more thouroughly.

(Re)-Enter EclipseIDE for C++

This project is presented as is for anyone else who would like to use a C++ editor on osx that is actually aware of your classes.
From what I’ve used it so far, it is much better – but compile times are a little slower, however the time you save while editing is well worth it imo.

Usage

  1. http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr2
  2. Download this project
  3. Import into eclipse workspace (select import existing project in the ‘general’ drop down)
  4. In terminal browse to the projects path and create a symbolic link named ‘CINDER_PATH_LINK’ to where cinder is located
    1. “ln -s foo/bar CINDER_PATH_LINK”
    2. Where ‘foo/bar’ is the path to Cinder such as ‘~/GIT/LIBRARY/CINDER’
  5. [Optional] – RightClick project root, select properties
    1. Select C/C++ Build
    2. Select Settings
    3. Replace ‘g++’ with ‘clang++’ and ‘gcc’ with ‘clang’ for the:
      • MacOS X C++ Linker
      • GCC C++ Compiler
      • GCC C Compiler
    • [Optional] Do the same for the discovery tab
  6. After hitting, apply/ok and closing that window select Project->Build All and project should build successfully.

Screenshots

Debugger / Hitting a breakpoint

Editor

OpenNIStarterKit Block

Editor

Better syntax highlighting, and code sense

Editor

10 Comments

Jim

April 13, 2011 at 7:18 pm

Thanks for this info. I’m currently using Code::Blocks and OpenFrameworks. I wanted to try out Cinder but strongly object to being told to use MS Visual C++ and the associated SDK, which together require 3.8 GIG of free space (shocking since that is 32 times more DASD than my Code:Blocks/MinGW install (a mere 120meg.))

I was on the fence about replacing Code::Blocks with Eclipse but may now give it a try. An added bonus of Eclipse is that I can use the same IDE to replace the Processing IDE I currently use for Processing.

Thanks for the post. Jim

 Reply

macbirdie

April 14, 2011 at 8:29 am

“[XCode] provides only very barebones syntax highlighting, even more barebones code completion, and no edit-time error checking.” – that’s no longer true with XCode 4, actually. It went from from horrible in 3.x to really good in version 4.

 Reply

    onedayitwillmake

    May 6, 2011 at 11:37 pm

    In terms of C++ xcode 4 seems worse to me, than xcode 3.x, when doing iOS stuff it’s great i do have to admit.

     Reply

    Nicole Aptekar

    July 2, 2011 at 8:26 pm

    Are you actually getting xcode4 to do anything reasonable with cinder code? It’s terrible for me! (Though it’s superb for iOS!) Downloading eclipse now…

     Reply

      onedayitwillmake

      July 4, 2011 at 9:34 pm

      Yeah I gave up with it on c++

       Reply

parker

May 4, 2011 at 12:04 am

Just came back from a presentation given by Robert Hodgin, and this tut was exactly what I needed. thank you!

 Reply

    onedayitwillmake

    May 7, 2011 at 3:42 pm

    @parker – I think i went to that presentation – were you talking about Geeky By Nature?

     Reply

Max

July 3, 2011 at 10:57 pm

I was able to run your HelloEclipse in one go.
I tried building your OpenNiStarterKit, but I am getting errors related to Cinder. Firstly, it said that it cannot find appendColorRGBA() method in TriMesh.h. So, I checked the TriMesh.h file in Cinder, but couldn’t find this method though it is given on their(Cinder’s) references page.
Secondly, its giving me some

invalid initialization of reference of type ‘std::vector<cinder::Vec3, std::allocator<cinder::Vec3 > >&’ from expression of type ‘const std::vector<cinder::Vec3, std::allocator<cinder::Vec3 > >’ in ZoaDebugFunctions.cpp on line 153.
Could you please direct me or suggest the steps you followed to setup the this project.

 Reply

    onedayitwillmake

    July 4, 2011 at 9:37 pm

    Hi Max,

    Sadly do to the rapid changing nature of Cinder and OpenNI I think I’m discontinuing the OpenNIStartKit version of this project. I did a few OpenNI based kinect projects early on, but then haven’t been keeping up and now there’s version 2.0

    So i think that part will do more harm that good keeping it. On that note: I recommend using PixelNerves OpenNI block –
    https://github.com/pixelnerve/BlockOpenNI

     Reply

Debugging Cinder Application with EclipseLovesCinder template » Onedayitwillmake

September 27, 2011 at 11:15 pm

[…] this case it was my Eclipse Loves Cinder template I followed my own instructions to get Eclipse up and running with Cinder C++ framework. Then I […]

 Reply

Leave a Reply


*