http://blog.csdn.net/zldeng_scir/article/details/7592171
在前一篇博客中介绍了使用automake生成动态链接库,这篇博客我们介绍使用automake生成静态链接库。
和上一个博客中的例子相同,项目根目录为test,下面两个子目录是src和fun,fun中含有Fun.h和Fun.cpp,将会用来生成静态链接库,供src中的main.cpp调用。
- 在fun目录下新建Makefile.am,文件内容为:
第一行确定静态链接库的名称,这里和动态链接库有区别,动态链接库是lib_LTLIBRARIES,静态链接库是lib_LIBRARIES ,第二行说明申城动态链接库需要的源文件。
- 在src目录下新建Makefile.am,文件内容为:
这里和动态链接库的区别在于在使用LDADD声明库的路径时直接说明路径和静态库的名称
- 在test目录下运行autoscan,修改configure.scan为configure.in,修改其中的内容,内容为:
其中需要修改的内容有一些程序信息,这里和动态链接库相同。
和动态链接库不同的是,静态链接库中加入一行AC_PROG_RANLIB,表明生成的是静态库。
- 新建Makefile.am文件,文件内容为:
文件内容和动态库相同。
- 运行aclocal、autoconf、autoheader、automake -a。
- 运行./configure --prefix=·pwd·
- 运行make
- 运行make install
- 这是在src下面就会得到可执行程序test