how to #include third party libraries

build, c++, include, include-path, libraries

Solution

- Use the `-I` compiler option to point to the 3rd party libraries directory (`-I/usr/local/include/ohNet`)

- Use `#include "[whatever you need from oHNet].h"` in your header files and compilation units as needed (Note: you might need to put relative prefix pathes for subdirecories in the 3rd party include paths tree here!)

- Use the `-L` linker option to specify a path to the 3rd party libs you need (`-L/usr/local/lib` probably)

- Use the `-l` linker option to specify any concrete 3rd libs you need (`-l[oHNet]` probably)

Look in the directories what actually was installed there to figure what to place for `[whatever you need from oHNet].h` and `[oHNet]`, s.th. like `liboHNet.a` for the latter.

You didn't tag [tag:Eclipse CDT] explicitly here, but go to the Project->Properties->C++ Builder->Settings Dialog and look for C/C++ Includes and Linker Options.

Problem

I have built and installed a library called OhNet. After `make install` the corresponding header files of the framework have been installed under `usr/local/include/ohNet`. Now I want to use the Library in my C++ project (i am using eclipse) but when i try to include some header files, eclipse is not able to find the files. As far as i know eclipse should search for header files in these directories (/usr/include , /usr/local/include ,...) by default.... What do i have to do to use the library? I am pretty new to C++ and haven't used third party sources before. Thank you. --EDIT-- I simply want to write an easy "helloworld" programm to verify that i have included the framework correctly. In order to do that i want to instatiate the class `OpenHome::Net::DvDeviceStdStandard`. see: ohNet C++ reference I can now include the header file using: `#include <ohNet/OpenHome/Net/Core/DvDevice.h>` That works fine. But how can i create an object of type `OpenHome::Net::DvDeviceStdStandard` ? now? Eclipse says that this type cannot be resolved. :( ``` #include <iostream> #include <ohNet/OpenHome/Net/Core/DvDevice.h> using namespace std; int main() { OpenHome::Net::DvDeviceStdStandard device; //type cannot be resolved cout << "!!!Hello World!!!" << endl; return 0; } ```

Original source