Using Eclipse with Cinder – A better c++ editor

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 thoughts on “Using Eclipse with Cinder – A better c++ editor”

  1. 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

  2. “[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.

    1. 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.

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

  3. 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.

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *


*