项目场景:
Linux 动态链接库
调用 自定义 的动态链接库
动态链接库:
(1)编写.c和.h文件
(2)将.c文件转成.o文件
gcc -c *.c -fPIC
(3)将.o文件转成动态库文件 lib库名.so
gcc -shared -o lib库名.so *.o
(4) 使用动态库文件
gcc ex3.c -o res -I ./lib/ -L ./lib/ -l库名
静态链接库:
(1)编写.c和.h文件
(2)将.c文件转成.o文件
gcc -c xxx.c
(3)将.o文件转成静态库文件 lib库名.a
ar rcs lib库名.a *.o
(4) 使用静态库文件
gcc ex3.c -o res -I ./lib/ -L ./lib/ -lexmath -static
问题描述
gcc res文件时 找不到.so文件 使用 -L无法产生和静态库一样的效果;
-I(大写) /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include–>/usr/include–>/usr/local/include
-L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,寻找的顺序是:/home/hello/l