c/c++ 静态库与动态库
其他
2018-08-12 05:16:26
阅读次数: 0
链接库
使用
静态库
- 命名规则:libtest.a
- 制作步骤:
- 源代码.c.cpp
- 将.c文件生成.o
- 将.o打包
- ar rcs静态库名 *.o
- ar rcs libtest.a a.o b.o
- 库的使用:
- gcc test.c -I ./ -L./lib -lxxx -0 app
- -L 指定库的路径
- -l 指定库的名字去掉lib和.a
动态库
- 命名规则:
- 制作步骤:
- 源代码生成.o
- gcc a.c b.c -c -fpic(fPIC)
- 打包
- gcc -shared a.o b.o -o libxxx.so
- 库的使用:
- 头文件 a.h
- 动态库libtest.so
- 参考函数声明编写测试程序 main.c
- gcc main.c -I ./header/ -L ./lib/ -l test -o app
- 动态库无法加载:
- 使用环境变量:
- 临时设置:
- 在终端:export LD_LIBRARY_PATH=动态库路径 :$LD_LIBRARY_PATH
- 永久设置:
- 用户级别:修改 ~/.bashrc source ~/.bashrc
- 系统级别:/etc/profile
转载自blog.csdn.net/weixin_41582705/article/details/81507086