标签:c语言库文件制作
/**
* 此处的例子中所有的文件都在同一个目录下
* 若不在同一个路径下,请自行修改
**/
静态库:
1> 编译源文件生成目标文件
gcc -c file1.c [file2.c ...] //单文件注意文件名
2> 使用ar命令打包
ar -crv libxxx.a *.o //库文件必须以lib开头,后缀为.a
-c 创建
-v 显示过程
-r 插入文件
3> 使用静态库
方式一:将库文件当普通.o文件一样对待
gcc -o [execfilename] *.o libxxx.a
方式二:指定库文件路径与名称
gcc -o [execfilename] *.o [-L.] -lxxx
其中
-L:指定库文件路径(使用系统库文件可不指定)
-l:指定库文件名(去掉lib前缀与.a后缀)
4> 查看库文件、目标文件、可执行文件包含的函数
nm filename
共享库:
1> 生成与位置无关的.o文件
gcc -fPIC -c *.c -Iinclude
2> 生成.so文件
gcc -shared -o libxxx.so *.o
3> 使用
方法一
gcc main.c libxxx.so -o app
方法二
gcc main.c -L. -l xxx -o app
使用ldd 可执行文件名查看依赖的共享库
解决方案
1.将自己的库文件放到/lib或/lib64里面(不建议)
2.配置LD_LIBRARY_PATH变量
export LD_LIBRARY_PATH = ./lib
2(或).修改配置文件
vi ~/.bashrc
export LD_LIBRARY_PATH=/path/to/yourlibfile
本文出自 “11949201” 博客,请务必保留此出处http://11959201.blog.51cto.com/11949201/1943737
标签:c语言库文件制作
原文地址:http://11959201.blog.51cto.com/11949201/1943737