1、生成.SO:
g++ test.cpp -fPIC -shared -o libtest.so
2、使用.SO:
g++ L. -ltest main.cpp
在使用.SO的时候如果找不到.SO需要把.SO的路径加到/etc/ld.so.conf ldconfig使之生效
ldd 可以查看MAIN中是否包含了.SO。
3、生成.A
ar -r libtest2.a test.o (切记先将文件编译成.O的再用AR,否则会出意想不到的错误。)
4、使用.A
g++ -static -L. -ltest2 main.cpp
动态库与静态库的区别
1、动态库比静态库要大的多,而编译完的文件,静态库要比动态库大。
2、动态库在执行时动态加载,所以比静态库速度稍逊。