3.1.3 Extended search paths

Following the standard Unix convention for search paths, several directories can be specified together in an environment variable as a colon separated list:


The directories are then searched in order from left to right. A single dot '.' can be used to specify the current directory.(9)

For example, the following settings create default include and link paths for packages installed in the current directory '.' and the 'include' and 'lib' directories under '/opt/gdbm-1.8.3' and '/net' respectively:

$ C_INCLUDE_PATH=.:/opt/gdbm-1.8.3/include:/net/include
$ LIBRARY_PATH=.:/opt/gdbm-1.8.3/lib:/net/lib

For C++ programs, use the environment variable CPLUS_INCLUDE_PATH instead of C_INCLUDE_PATH.

To specify multiple search path directories on the command line, the options -I and -L can be repeated. For example, the following command,

$ gcc -I. -I/opt/gdbm-1.8.3/include -I/net/include
   -L. -L/opt/gdbm-1.8.3/lib -L/net/lib .....

is equivalent to the environment variable settings given above.

When environment variables and command-line options are used together the compiler searches the directories in the following order:

  1. command-line options -I and -L, from left to right
  2. directories specified by environment variables, such as C_INCLUDE_PATH (for C programs), CPLUS_INCLUDE_PATH (for C++ programs) and LIBRARY_PATH
  3. default system directories

In day-to-day usage, directories are usually added to the search paths with the options -I and -L.

Published under the terms of the GNU General Public License Design by Interspire