静态库的Makefile续——搞定

首先在makefile中,没有做静态库的描述符,-static是错误的。经过查找发现是我对Linux下静态库的理解不对。

在Linux下,静态库实际是.o的一个集合使用的不是make和gcc,而是在.o文件所在目录直接敲ar命令,将.o文件打包

 

比如我的命令是这样的

ar cr Lisence_Lib.a Lisence_Read.o Lisence_Write.o Lisence_Admin.o Lisence_Base.o

这样就生成 Lisence_Lib.a了

使用nm命令查看,结果不像是查看动态库一样直接列出所有接口,而是分开说明这个库中包含哪些.o,每个.o包含哪些接口

 

在编译过程中出现过这个错误

expected constructor, destructor, or type conversion before string constant

解决的方法是,在报错指出的代码行,有单词打错了,我出错的地方是extern “C”的关键字extern打错了

posted @ 2013-02-26 20:06  礼拜天  阅读(409)  评论(0编辑  收藏  举报