编译静态库

gcc -c a.c b.c
那么就会生成 a.o b.o

ar r libac.a a.o b.o 注意生成的库前面要加入 lib (因为库连接的话,需要lib)
生成 静态库文件

​linux ar命令​

ranlib libac.a
来对静态库的符号索引表进行更新。

​Linux ranlib的用法​

gcc main.c -L. -lab -I . -o main
-L选项告诉编译器去哪里找需要的库文件,-L.表示在当前目录找。-lab告诉编译器要链 接libab库,-I(大写i)选项告诉编译器去哪里找头文件。

编译动态库

gcc -fPIC -c a.c b.c

gcc -shared -o libab.so a.o b.o

cp sudo cp libab.so /usr/lib 把动态库拷贝到 /usr/lib

详细参考

​linux下静态库动态库的编译和使用​