C++ – Header file not found in Eclipse CDT

ceclipseeclipse-cdt

I'm trying to build a project that uses an external library (Casablanca) using Eclipse CDT 8.8.1. on Mac OS. As expected, the first build run returned "cpprest/http_client.h file not found" errors.

I then proceeded to add an include path (/Users/me/projects/casablanca/Release/include) by right-clicking on the project, selecting Properties->C/C++ Include Paths and Symbols, Add External Include Path, and moving it up in priority as the first listed folder.

However this did not solve the problem and Eclipse still can't seem to find the headers. The #include directive is as below:

#include <cpprest/http_client.h>

and the added /include directory does have a /cpprest sub-directory, with http_client.h in it.

Any help would be appreciated.

Best Answer

Adding an include path to Project Properties | C/C++ General | Paths and Symbols only adds the include path to the set of includes searched by CDT's indexer when indexing the project.

The actual build system needs to be told the include path by another means. If you're using a Managed Build project (as opposed to a Makefile project) - which it sounds like you are - you would add the include path in Project Properties | C/C++ Build | Settings. Note that the indexer automatically picks up build settings, so once you do this, there shouldn't be a need to also add it to Paths and Symbols.