Linux生成静态库与动态库

准备工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

windows的动静态库名

在这里插入图片描述

如何制作静态库?

在这里插入图片描述
在这里插入图片描述

静态库

linux静态库一般是.a结尾的文件一般话不多说直接开整
在这里插入图片描述
创建两个目录一个用来存放静态库,一个用来调用静态库,也可以将两个放在同一个目录中创建,这里只是为了演示效果明显。
创建想要实现的功能.h头文件与.C文件
在这里插入图片描述
在这里插入图片描述
make生成.o文件 和 make output将静态库生成到output目录下
在这里插入图片描述
在这里插入图片描述
在Mytest目录下创建工程将静态库中的头文件包含到工程中
在这里插入图片描述
在这里插入图片描述

链接静态库与动态库方法一样,都是链接库文件!

在这里插入图片描述
make完成对静态库的使用
在这里插入图片描述

动态库

linux动态库一般是.so结尾的文件
创建两个目录
dlib用来生成动态库
dMytest使用动态库

在这里插入图片描述
在dlib中创建.h与静态库相同,但Makefile文件要有所修改
shared: 表示生成共享库格式
fPIC:产生位置无关码(position independent code) 记得用它就行了,原因太麻烦
库名规则:libxxx.so

在这里插入图片描述
make和make lib将生成的动态库放到 lib目录下
在这里插入图片描述
将生成的lib文件拷贝到dMytest目录下
在这里插入图片描述

链接静态库与动态库方法一样,都是链接库文件!

在这里插入图片描述

解决方法1:利用环境变量,将lib下的路径添加到环境变量中,只不过每次重启都要加一次
在这里插入图片描述
解决方法2:直接把.so文件拷贝到/lib64目录下,以后使用都不用export了,但是如果自己写的库函数不建议,因为写的太烂,污染动态库池

make 并ldd test查看是否包含动态库成功
在这里插入图片描述
成功
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值