Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

3.1.2 Environment variables

The search paths for header files and libraries can also be controlled through environment variables in the shell. These may be set automatically for each session using the appropriate login file, such as '.bash_profile' in the case of GNU Bash.

Additional directories can be added to the include path using the environment variable C_INCLUDE_PATH (for C header files) or CPLUS_INCLUDE_PATH (for C++ header files). For example, the following commands will add '/opt/gdbm-1.8.3/include' to the include path when compiling C programs:

$ C_INCLUDE_PATH=/opt/gdbm-1.8.3/include 
$ export C_INCLUDE_PATH

and similarly for C++ programs:

$ CPLUS_INCLUDE_PATH=/opt/gdbm-1.8.3/include 
$ export CPLUS_INCLUDE_PATH

This directory will be searched after any directories specified on the command line with the option -I, and before the standard default directories (such as '/usr/local/include' and '/usr/include'). The shell command export is needed to make the environment variable available to programs outside the shell itself, such as the compiler--it is only needed once for each variable in each shell session, and can also be set in the appropriate login file.(8)

Similarly, additional directories can be added to the link path using the environment variable LIBRARY_PATH. For example, the following commands will add '/opt/gdbm-1.8.3/lib' to the link path:

$ LIBRARY_PATH=/opt/gdbm-1.8.3/lib
$ export LIBRARY_PATH

This directory will be searched after any directories specified on the command line with the option -L, and before the standard default directories (such as '/usr/local/lib' and '/usr/lib').

With the environment variable settings given above the program 'dbmain.c' can be compiled without the -I and -L options,

$ gcc -Wall dbmain.c -lgdbm

because the default paths now use the directories specified in the environment variables C_INCLUDE_PATH and LIBRARY_PATH. The same compilation command with g++ would use the environment variables CPLUS_INCLUDE_PATH and LIBRARY_PATH.


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