在linux上生成speexdsp的so动态链接库和.a静态链接库
- make和make install后会生成speexdsp的.so动态链接库和.a静态链接库
make
make install

其中build/lib目录下:
├── libspeexdsp.a /*静态库*/
├── libspeexdsp.la /*记录同名动态库和静态库相关信息的la文本文件*/
├── libspeexdsp.so -> libspeexdsp.so.1.5.2
├── libspeexdsp.so.1 -> libspeexdsp.so.1.5.2 /*符号链接*/
├── libspeexdsp.so.1.5.2 /*动态库*/
└── pkgconfig /*pkgconfig 的 *.pc文件*/
└── speexdsp.pc
linux下的so、o、lo、a、la文件
- o: 编译的目标文件
- a: 静态库,其实就是把若干o文件打了个包
- so: 动态链接库(共享库) 动态库文件必须以lib开头,以.so结尾
- lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息
- la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息
知识拓展:
-
函数库分为静态库*a和动态库*.so两种:
①静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。
②动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 -
符号链接(symbolic link)是 Linux 系统中的一种文件,它指向系统中的另一个文件或目录。符号链接类似于 Windows 系统中的快捷方式。
-
在linux中,*.la是记录同名动态库和静态库相关信息的文本文件。
三、分析speexdsp在标准Linux系统的编译过程文件
- 分析speexdsp在标准Linux系统的编译过程文件,找到生成so库和测试用的可执行文件所需的.c源代码,头文件路径,cflags编译器标志,所依赖的库。
对比编译前后的speexdsp原生库结构
- tree工具能以树形的方式显示指定目录的层级结构。
非绿色字体是编译后生成的文件。


最低0.47元/天 解锁文章

776

被折叠的 条评论
为什么被折叠?



