日期:2014-05-16  浏览次数:20595 次

请问如何生成和使用自己的库文件?
比如说,我自己写了如下的文件
spfs_log.h spfs_log.cpp
spfs_sockset.h spfs_sockset.cpp
spfs.h spfs.cpp

我编译之后得到了
spfs_log.o
spfs_sockset.o
spfs.o
三个目标文件

ar -rv utility spfs.o spfs_log.o spfs_sockset.o

得到了utility库文件。
请问接下来我应该怎么做,就可以像
#include <cstdio>
一样包含头文件,就可以在程序中调用
printf()一样调用我自己的函数呢?
比如在spfs_log.h中声明的spfs_log()函数呢?


------解决方案--------------------
库的名字给取好了,程序里include进去头文件,库放的位置要让程序能找到,或者放到系统默认的/usr/lib之类的地方,编译的时候加-lxxx,链接上自己的库
------解决方案--------------------
嗯。注意在头文件中声明好你的接口,头文件可放到/usr/include中
------解决方案--------------------
lz的思路基本正确
这些东西可以自己多试验,实践出真知,哈哈

刚开始不用把自己的库放到系统默认目录,放到当前目录,或者用-L来指定,这样更明确一些
------解决方案--------------------
你打包了静态库,将来在其他程序链接阶段,-l引入静态库或者直接将它参与到链接里都可以,如果-l的话需要改名为libxxx.a,链接时-lxxx并且-L path指定静态库路径。

另外,编译时需要使用该库函数的文件应该包含对应函数的头文件完成编译。