静态库编译
g++ -c -fPIC static.cpp // 生成static.o
ar r libstatic.a static.o // 生成静态库libstatic.a
动态库编译
g++ -c -fPIC shared.cpp // 生成shared.o
g++ -shared shared.o –L. -lstatic -o libshared.so // 生成动态库libshared.so 注: -shared是g++的选项,与shared.o无关. -lstatic选项把libstatic.a的函数加入动态库中.
静态库链接静态库:
libone.a
libtwo.a 调用 libone.a中函数,只需要头文件
g++ -o test -ltwo -lone
动态库链接静态库:
静态库的.o文件也用-fPIC生成. 生成动态库时把静态库加入
执行程序只需要链接动态库
静态库链接动态库:
执行程序都需要链接
动态库链接动态库
执行程序都需要链接