当前位置: 技术问答>linux和unix
急问linux下如何使用lib命令编译LIB库文件?在线等!
来源: 互联网 发布时间:2015-07-08
本文导语: 很急,在线等! 如题,谢谢! | 首先,我感觉你的问题问的不清楚!————大忌!! 如果你是想把你的代码编译成库文件那么下面的办法可以帮你实现: 静态库(也就是*.a) 比如说你写了一堆代码分...
很急,在线等!
如题,谢谢!
如题,谢谢!
|
首先,我感觉你的问题问的不清楚!————大忌!!
如果你是想把你的代码编译成库文件那么下面的办法可以帮你实现:
静态库(也就是*.a)
比如说你写了一堆代码分别为:a.c b.c c.c……
那么你先编译他们(最好用makefile)成a.o b.o c.o ……
然后:ar rcs libyourlibname.a a.o b.o c.o……就生产静态库了libyourlibname.a。
动态库(也交共享库)(也就是*.so)
同样先编译为*.o文件。
然后:gcc -g -shared -Wl, -soname, libyourlibname.so -o a.o b.o c.o……就生产动态库libyourlibname.so
如果你是要让你的编译器在非标准路径下查找到你的库,那么你需要先修改/etc/ld.so.conf,在其中添加你的库的路径。然后执行命令:ldconfig变可以了。
如果你是想把你的代码编译成库文件那么下面的办法可以帮你实现:
静态库(也就是*.a)
比如说你写了一堆代码分别为:a.c b.c c.c……
那么你先编译他们(最好用makefile)成a.o b.o c.o ……
然后:ar rcs libyourlibname.a a.o b.o c.o……就生产静态库了libyourlibname.a。
动态库(也交共享库)(也就是*.so)
同样先编译为*.o文件。
然后:gcc -g -shared -Wl, -soname, libyourlibname.so -o a.o b.o c.o……就生产动态库libyourlibname.so
如果你是要让你的编译器在非标准路径下查找到你的库,那么你需要先修改/etc/ld.so.conf,在其中添加你的库的路径。然后执行命令:ldconfig变可以了。
|
http://www.csdn.net/Develop/read_article.asp?id=23194
这里对你有帮助
这里对你有帮助
|
库文件的位置变动的时候不需要重新编译程序,在库文件位置还在系统默认搜索的路径不会有问题。或者与程序相对路径不变也可以实现不需要重新编译。
|
linux下只有.a文件,好像没有lib文件,那是windows下的