文章目录

  • ​​1.关于LInux环境下的C/C++的默认包含路径​​
  • ​​2.gcc/g++默认的库搜索路径​​

1.关于LInux环境下的C/C++的默认包含路径

  • 首先先来看看编译器的默认搜索路径都是那些,使用如下命令可以查询到GCC的默认头文件(#include<…>)搜索目录:
#对于C:
echo | gcc -v -x c -E -

#对于C++:
echo | g++ -v -x c++ -E -
  • 注意:不明白这两个命令只有在root权限下才能看到路径相关内容,也许跟我安装时就是在root权限下有关。

2.gcc/g++默认的库搜索路径

  • 库文件在链接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。
  • 一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。
  • 对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。
    设置库文件的搜索路径有下列两种方式,可任选其一使用:
(1)在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。

(2)在 /etc/ld.so.conf 文件中添加库的搜索路径。
将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择
添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。例如:
/usr/X11R6/lib
/usr/local/lib
/opt/lib

为了保证程序执行时对库的定位,在 /etc/ld.so.conf 中进行了库搜索路径的设置之后,还必须要运行 /sbin/ldconfig 命令更新 /etc/ld.so.cache 文件之后才可以。
其作用就是将/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache 以供使用