Search code examples
pathcompilationg++

How do I include a path to libraries in g++


I am trying to include the path to extra libraries in my makefile, but I can't figure out how to get the compiler to use that path. So far I have:

g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test

and I want to include the path to

/data[...]/lib

because testing.cpp includes files from that library. Also, I'm on a Linux machine.

EDIT: Not a path to a library. Just to header files from that library that were included. My bad.


Solution

  • To specify a directory to search for (binary) libraries, you just use -L:

    -L/data[...]/lib
    

    To specify the actual library name, you use -l:

    -lfoo  # (links libfoo.a or libfoo.so)
    

    To specify a directory to search for include files (different from libraries!) you use -I:

    -I/data[...]/lib
    

    So I think what you want is something like

    g++ -g -Wall -I/data[...]/lib testing.cpp fileparameters.cpp main.cpp -o test
    

    These compiler flags (amongst others) can also be found at the GNU GCC Command Options manual: