linux下的搜索路径设置

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中添加

修改完后重起终端。

你可能感兴趣的:(知识积淀)