开源库的使用方法
移植
- 流程: 源码下载 -> 解压 -> 配置 -> 修改Makefile -> 编译或交叉编译;
- 目的: 由源码得到动态库(
.so
)、静态库(.a
)、头文件(.h
)
部署
- 目的:实现对开源库的使用;
- 部署方式:静态库和头文件是程序编译时需要的,需要部署到
编译环境
中;而动态库则是给程序运行过程中实时动态调用的,需要部署到程序的运行环境
(开发板上的文件系统);
编译选项
- I选项(i的大写):预处理选项,在
CFLAGS
或CPPFLAGS
中指定,在进行编译的预处理时用来指定的头文件的存放路径; - l选项(L的小写):链接选项,在
LDFLAGS
中指定,用来指定对应的链接库,在编译的链接阶段用来增加需要链接的库;
– 比如指定 -lm 时,链接器会去链接 libm.so 文件,指定 -ljpeg 时,链接器会去链接 libjpeg.so 文件; - L选项:链接选项,在
LDFLAGS
中指定,在编译的链接阶段用来告知链接器库文件的保存路径;