整理自视频:
牛客网
一. 制作
1. 准备源文件
在制作之前,确保源文件已经准备好
2. 制作obj文件
gcc -c -fpic src/add.c src/sub.c -I include
这样就得到了add.o和sub.o两个文件
3.得到链接库
gcc -shared *.o -o libcalc.so
二. 使用动态库
1. 使用动态库编译
gcc src/test.c -l calc -I include/ -L ./
得到了一个a.out可执行文件
2. 执行
.a.out
./a.out: error while loading shared libraries: libcalc.so: cannot open shared object file: No such file or directory
发现报错,原因是制作的动态库不在gcc的查找路径上。
这里给出一种解决方法: 修改环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY:/root/workspace/test2/src
这样就可以正常执行了