markdown Linux的下动态库路径配置,静态库,动态库的制作与使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Linux的下动态库路径配置,静态库,动态库的制作与使用相关的知识,希望对你有一定的参考价值。
# 动态库无法加载:
### 1.临时设置:
#### 在终端输入 export LD_LIBRARY_PATH=动态库的路径:\$LD_LIBRARY_PATH 这样做的好处是不覆盖原有的LD_LIBRARY_PATH环境变量的值
### 2.永久设置:
#### 用户级别
##### ~/.bashrc
##### 配置完成:source ~/.bashrc
#### 系统级别:
#### /etc/profile
#### source /etc/profile
### 3.推荐!! /etc/ld.so.cache文件列表
#### 找到一个配置文件 /etc/ld.so.conf
#### 把动态库的绝对路径添加到文件中
#### 执行一个命令:
#### sudo ldconfig -v
1.库是什么?
二进制文件
将源代码 - 》二进制格式的源代码
.c .cpp-\>.a, .so 库文件
2.库制作出来之后, 如何给用户使用?
头文件:头文件中包含了函数的声明
制作出的库文件:库文件中包含了函数的实现
3. 静态库的制作和使用
命名规则: libtest.a
lib - 固定头
xxx - 库的名字
.a - 扩展名
制作步骤:
原材料:源代码.c .cpp
将.c文件生成.o
gcc a.c b.c -c
将.o 打包
ar rcs 静态库的名字 原材料
例:ar rcs libtest.a a.o b.o
ar - archive
库的使用:
gcc test.c -I ./ -L./lib -lmycalc -o app
-L: 指定库的路径
-l:指定库的名字
-I: 执行头文件的路径
2.动态库的制作和使用
命名规则:
libxxx.so
制作步骤
将源文件生成.o
gcc a.c b.c -c -fpic(fPIC)
打包
gcc -shared a.o b.o -o libxxx.so
库的使用
头文件head.h
动态库 libtest.so
gcc main.c -I ./ -L ./ -l test -o app
3.file 命令查看文件类型
格式:file filename
4.ldd 查看可执行文件依赖的库文件
格式:ldd 可执行文件名
以上是关于markdown Linux的下动态库路径配置,静态库,动态库的制作与使用的主要内容,如果未能解决你的问题,请参考以下文章
linux下添加动态链接库路径动态库加载等方法
深入理解计算机系统CSAPP Ch7:静动态库制作与神奇的库打桩机制
编译链接实战(10)linux动态库so查找路径全面盘点
Linux Make问题
Windows下静态动态库的封装和使用(图解)
Windows下静态动态库的封装和使用(图解)