-
安装使用
- 编译期
- 对于一个比较大第三方库,其头文件和库文件的数量是比较多的,如果我们一个个手动地写,那将是相当麻烦的。
- gcc main.c `pkg-config --cflags --libs gtk2.0` -o main。其中引号命令就is把gtk的头文件路径和库文件列出来,形成一个.pc文件,让编译去获取,--cflags和--libs分别指定头文件和库文件
- 编译器如何知道这个.pc文件路径呢?用root权限打开/etc/bash.bashrc文件
- 运行期
- 安装完毕后需要配置环境变量
-
在/lib和/usr/lib里面添加内容,不需修改/etc/ld.so.conf,但要执行ldconfig,否则library会找不到 -
在上面两个目录以外添加内容,需要修改/etc/ld.so.conf,并且执行ldconfig,否则library会找不到。
-
如果想在这两个目录以外放lib,又不想在/etc/ld.so.conf中添加内容,可以export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。 -
ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了
-
项目库中直接使用
- 在CMakeLists.txt中通过include_directories和link_directories确定项目链接到指定的三方库
|