(6条消息) linux-静态库制作与使用_云的小站的博客-CSDN博客
目录
根据静态库创建时写的两个源文件,我们来制作动态库
创建动态库
根据这2个源文件和2个头文件我们来学习制作动态库。
我们先让编译两个源文件成.o文件,注意要加-fPIC选项,产生用于生成位置无关的代码。
然后将两个.o文件打包在一起形成动态库
形成libhello.so动态库。我们将其头文件和库打包在一个目录下,为了后续有个知识点,我们将静态库也打包过去。
压缩打包目录
这样我们就可以发布给别人了。
将压缩文件发给uselib。
这样我们的库就制作完毕了。
使用动态库
来到uselib目录下。
将压缩文件解压
先将想静态库使用一样编译main.c编译
运行main,发现没有库的路径,
动态库编译的文件需要知道库的路径,有许多的方法,
一、修改系统变量LD_LIBRARY_PATH
在路径后追加我们的库路径(不推荐)
二、在用户配置中永久修改库的路径(不推荐)
三、在系统lib64中添加路径(不推荐)
四、在/etc/ld.so.conf.d/目录下创建一个属于自己的文件,将路径写里面去,不需要其他东西
![](https://i-blog.csdnimg.cn/blog_migrate/95277e2ca1ecfa7320f62d6a640a6ddf.png)
回到uselib目录下
先需要刷新动态库路径,因为现在的库路径缓存并没有将我们的myzjy.conf纳入,需要重新刷新缓存。ldconfig指令,对了我们需要提升权限才可使用该指令。
这就是我们的动态库的使用。
后面还有许多使用方法,但是我推荐这种。