http://blog.csdn.net/fengyv/archive/2006/05/25/754030.aspx
一、静态链接库打包方式
ar -rc 库名 编译文件
ar -rc libtest.a *.o
注意:输入是.o(编译文件),输出是.a(静态库文件)
二、动态链接库打包方式
gcc -fpic -shared -o 库名 源代码文件
gcc -fpic -shared -o libtest.so aa.c bb.c
注意:输入是.c(源码文件),输出是.so(动态库文件)
三、通过链接库打包
使用链接库时,无论静态,还是动态,打包方法是一样。
gcc -o output cc.o /tmp/libtest.so
gcc -o output cc.o /tmp/libtest.a
四、gcc中的一些参数
-I头文件目录
-L链接库路径
-l链接库名称
注意: 使用动态链接库时: 直接写全路径引入动态链接库 和 用-L,-l参数引入动态链接库,的区别: 1)使用前者,以后运行时,总去哪个路径加载链接库(若没有,则报错)。
2)使用后者,以后运行时,可以通过LD_LIBRARY_PATH来指定路径
一、静态链接库打包方式
ar -rc 库名 编译文件
ar -rc libtest.a *.o
注意:输入是.o(编译文件),输出是.a(静态库文件)
二、动态链接库打包方式
gcc -fpic -shared -o 库名 源代码文件
gcc -fpic -shared -o libtest.so aa.c bb.c
注意:输入是.c(源码文件),输出是.so(动态库文件)
三、通过链接库打包
使用链接库时,无论静态,还是动态,打包方法是一样。
gcc -o output cc.o /tmp/libtest.so
gcc -o output cc.o /tmp/libtest.a
四、gcc中的一些参数
-I头文件目录
-L链接库路径
-l链接库名称
注意: 使用动态链接库时: 直接写全路径引入动态链接库 和 用-L,-l参数引入动态链接库,的区别: 1)使用前者,以后运行时,总去哪个路径加载链接库(若没有,则报错)。
2)使用后者,以后运行时,可以通过LD_LIBRARY_PATH来指定路径