跳转至

动态库(共享库)#

1 编库#

编译 .c 文件
源文件[.c/cpp] -> Object文件[.o]

g++ -c [.c/cpp][.c/cpp]... -o [.o][.o]... -I[.h/hpp] -g -fpic

Object文件[.o] -> 动态库文件[lib库名.so]
g++ -shared [.o][.o]... -o [lib库名.so] 

main文件[.c/cpp] -> Object文件[.o]
g++ -c [main.c/cpp] -o [.o] -I[.h/hpp] -g

2 链接#

链接 main 的 Object 文件与动态库文件[lib库名.so]

g++ [main.o] -o [可执行文件] -l[库名] -L[库路径] -Wl,-rpath=[库路径]