1.include头文件路径
除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径(
也可以在编译命令中通过 -I 来指定):
# C
export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH
# CPP
export CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH
2.link链接库文件路径
链接库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的(也可以在编译命令中通过 -L 来指定):
一般 Linux 系统把 /lib /usr/lib /lib64 /usr/lib64 作为默认的库搜索路径,所以使用这几个目录中的链接库文件可直接被搜索到(不需要专门指定链接库路径)。对于默认搜索路径之外的库,则需要将其所在路径添加到gcc/g++的搜索路径之中。
链接库文件的搜索路径指定有两种方式:
1)修改/etc/so.ld.conf
在/etc/ld.so.conf 中添加指定的链接库搜索路径(需要root权限),然后运行 ldconfig,以达到刷新 /etc/ld.so.cache的效果
2)修改环境变量,在其中添加自己的路径
动态链接库搜索路径:
export LD_LIBRARY_PATH=XXX:$LD_LIBRARY_PATH
静态链接库搜索路径:
export LIBRARY_PATH=XXX:$LIBRARY_PATH
3.执行文件的搜索路径
当输入命令时LINUX会去/bin,/usr/bin,/sbin等目录寻找该命令,当我们希望自己定义一个执行目录时,可以通过修改PATH环境变量来实现。
export PATH=$PATH:/usr/local/bin
以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效
4.修改pkg-config搜索路径
pkg-config 先搜索环境变量PKG_CONFIG_PATH设置的,再搜索默认路径/usr/lib/pkgconfig /usr/share/pkconfig等。
pkg-config --cflags xxx
pkg-config --libs xxx
export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/local/lib/pkgconfig
总结:
以上修改可以直接命令行输入(一次性),
1)在/etc/profile中完成(对所有用户生效),修改完执行:
source /etc/profile
2)在用户home目录下的.bashrc或.bash_profile中添加
修改完后重起终端。