前言:
我的工作最近需要用到linux下构建多目录下Makefile产生so动态库样例的知识,我将最新的学习心得,做一个记录分享,以便以后需要使用时可以做参考。
关键词:
#linux gcc Makefile 多文件目录动态链接库lib*.so
内容:
1. 首先,理解概念:
1) 静态库(staticlibraray)(libxxx.a):将函数库的链接是放在编译时期(compiletime)完成。所有相关的对象文件(object file*.o)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库不先关,因为所有需要的函数已经在产出可执行文件过程加入到可执行文件中。
2)动态库(dynamic link library)(libxxx.so):
将库函数的链接载入时间推迟到程序执行文件的时间加入,就是动态链接库。
A:编译过程:注意将需要转换的动态库源文件c,在编译过程变为so文件。
B:调用so库文件的过程,也叫运行时链接动态链接库so部分。
3)如何修改当前动态库查找的路径:
程序能找到这些动态链接库,可以修改如下PATH:
LD_LIBRARY_PATH: