linux动静态库

静态库

myadd.h
在这里插入图片描述
myadd.c
linux动静态库_第1张图片
mysub.h
linux动静态库_第2张图片

mysub.c
linux动静态库_第3张图片
生成.o文件
在这里插入图片描述

将.o文件通过ar打包成静态库mymath

ar -rc 名字 .o文件
在这里插入图片描述

创建如下目录结构,include中放用到的头文件,lib中放打包好的静态库
linux动静态库_第4张图片
在如下的mytest.c中使用静态库
linux动静态库_第5张图片
mytest.c的makefile, 在这里边使用生成的静态库
linux动静态库_第6张图片

出现了找不到头文件错误linux动静态库_第7张图片

所以要在makefile中添加 -I 路径, 来找到头文件
linux动静态库_第8张图片

出现了找不到库的错误
linux动静态库_第9张图片
所以要在makefile中添加-L路径 找到库的位置
linux动静态库_第10张图片
出现不能找到libmymath.a的错误
linux动静态库_第11张图片
因为具体的库名为去掉前面的lib和后面的.a
linux动静态库_第12张图片
successfully
在这里插入图片描述


动态库

产生动态库的Makefile
linux动静态库_第13张图片

使用动态库的makefile
linux动静态库_第14张图片

mymath not found
linux动静态库_第15张图片
导共享库的环境变量:
export LD_LIBRARY_PATH=路径

在这里插入图片描述
~就OK了
未完

你可能感兴趣的:(操作系统,linux,运维,服务器)