automake生成静态链接库

在前一篇博客中介绍了使用automake生成动态链接库,这篇博客我们介绍使用automake生成静态链接库。

     和上一个博客中的例子相同,项目根目录为test,下面两个子目录是src和fun,fun中含有Fun.h和Fun.cpp,将会用来生成静态链接库,供src中的main.cpp调用。

  •     在fun目录下新建Makefile.am,文件内容为:

automake生成静态链接库_第1张图片

      第一行确定静态链接库的名称,这里和动态链接库有区别,动态链接库是lib_LTLIBRARIES,静态链接库是lib_LIBRARIES第二行说明申城动态链接库需要的源文件。

  • 在src目录下新建Makefile.am,文件内容为:

这里和动态链接库的区别在于在使用LDADD声明库的路径时直接说明路径和静态库的名称

  • 在test目录下运行autoscan,修改configure.scan为configure.in,修改其中的内容,内容为:automake生成静态链接库_第2张图片

       其中需要修改的内容有一些程序信息,这里和动态链接库相同。

      和动态链接库不同的是,静态链接库中加入一行AC_PROG_RANLIB,表明生成的是静态库。

  •         新建Makefile.am文件,文件内容为:

         文件内容和动态库相同。

  • 运行aclocal、autoconf、autoheader、automake -a。
  • 运行./configure --prefix=·pwd·
  • 运行make
  • 运行make install
  • 这是在src下面就会得到可执行程序test

你可能感兴趣的:(automake生成静态链接库)