Linux添加头文件和动态库的搜索路径方法总结

1.添加头文件搜索路径

Linux 默认头文件搜索路径有本地, /usr/include 等,如果头文件在别的路径,就需有添加新的头文件路径。有两种方法,一种是在 gcc 编译是添加 -I 选项,另一种是将新路径添加进 C_INCLUDE_PATH和CPLUS_INCLUDE_PATH 环境变量中。比如:

1
gcc -I$(HOME)/MyLibrary/include
1
export C_INCLUDE_PATH=$C_INCLUDE_PATH:$(HOME)/MyLibrary/include

2.添加共享库搜索路径

Linux 默认搜索路径有/lib, /lib64, /usr/lib, /usr/lib,如果共享库在其他位置的话也需要手动添加。一种是在 LIBRARY_PATH 环境变量中添加新路径,另外一种是在 gcc -L 选项中添加新路径。

1
export LIBRARY_PATH=$LIBRARY_PATH:$(HOME)/MyLibrary/lib
1
gcc ...  -L$(HOME)/MyLibrary/lib -lmylibrary

3.添加运行时库路径

程序运行时会默认搜索的运行时库路径有/lib, /lib64, /usr/lib, /usr/lib,运行时库在别的路径也需要手动添加,有一下几种方法。

修改 LD_LIBRARY_PATH 环境变量

1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(HOME)/MyLibrary/lib

修改/etc/ld.so.conf 文件

在/etc/ld.so.conf 文件中添加运行时库的路径。然后执行 ldconfig 命令。
或者在/etc/ld.so.conf.d 目录下添加一个新建的.conf 新文件,然后再文件中输入新的路径,然后再执行 ldconfig 命令。

1
touch /etc/ld.so.conf.d/MyLibrary.conf

在文件里输入/home/damo/MyLibrary,然后执行 ldconfig 命令即可。

1
sudo ldconfig

添加运行时库的软链接

可以用 ln 命令来创建运行时库的软链接,并把软链接放在系统默认路径下,然后程序链接时只需链接动态库的软链接就行。这样做的好处是当动态库升级时,只需替换掉原来的老软链接就行,无需修改编译命令。