Eclipse - What is exactly a Builder?

Oodini picture Oodini · Feb 5, 2010 · Viewed 14.6k times · Source

I don't understand what is exactly a builder in CDT, and what is the relationship with the "C/C++ Build" content.

I set up SCons in the "C/C++ Build" confuguration. It does work : I made two configurations (release and debug), and my SCons scripts are launched. But as I try now to debug, I am studying these Builders stauuf (I am discovering Eclipse...).

The documentation is not clear at all about this point.

Thanks for help.

Answer

JesperE picture JesperE · Feb 5, 2010

I'm not exactly sure what your problem is, but I'll try to explain how builders work.

Any Eclipse project has zero or more builders, and they are invoked (in order) when Eclipse builds a project. There are different kinds of builders which do different things, such as invoking an external build tool or validating an XML file. You can define your own builders if you want.

A CDT project typically has two builders. The first one is the CDT builder which is responsible for compiling your code. If you are using an external build tool you are most likely using a "makefile project", in which case the CDT builder simply invokes your build tool for you. This is by default called "make", but you can change it in the project settings.

The second builder is the "scanner discovery" builder. The purpose of this builder is to try to figure out which include paths etc. to use for the indexer so that auto-completion will work, etc. If you are using an external tool, chances are that you will need to set up these yourself under the "Paths and Symbols" tab.

Builders are in general not involved when debugging, but you may run into trouble if the build system doesn't put the compiled binaries in a place where CDT expects. There should be a tab in the project properties where you can configure how/where CDT looks for binaries.