zoukankan      html  css  js  c++  java
  • autoconf和automake的使用

    经常遇到自动生成makefile失败的情况,总结一下以供以后参考.

    一、configure,makefile.am,makefile.in,makefile之间的关系如下图:

    二、自动生成makefile步骤:

    1.autoscan  -------> configure.scan      autoscan.log

    2.编辑configure.scan

    mv configure.scan configure.in
    vi configure.in
    

         主要增加AM_INIT_AUTOMAKE(程序名, 版本号)

              修改AC_OUTPUT(Makefile)

    一个configure.in文件模板如下:

    #                                               -*- Autoconf -*-
    # Process this file with autoconf to produce a configure script.

    AC_PREREQ(2.59)
    AC_INIT(Test, 0.1, test@example.com)
    AC_CONFIG_SRCDIR([DBAgent.cpp])
    AM_CONFIG_HEADER(config.h)
    AM_INIT_AUTOMAKE(Test, 0.1)

    # Checks for programs.
    AC_PROG_CXX
    AC_PROG_CC

    # Checks for libraries.

    # Checks for header files.

    # Checks for typedefs, structures, and compiler characteristics.

    # Checks for library functions.

    AC_OUTPUT(Makefile)

     

    3.aclocal  ---------> aclocal.m4  autom4te.cache

    4.autoconf   ------->

    5.新建Makefile.am

    一个Makefile.am模板如下:

    AUTOMAKE_OPTIONS=foreign

    bin_PROGRAMS=Test

    Test_SOURCES= *.h *.c *.cpp

    Test_LDADD = –lpthread

    AM_CXXFLAGS = -Wall -Wno-deprecated –g

    6.automake –-add-missing  ------>

    7.执行 ./configure ---> makefile

    8.make

    三、有可能遇到的问题

    1.提示缺少config.h.in文件

    用autoheader生成

  • 相关阅读:
    win10打开相机提示我们找不到你的相机
    Potplay视频播放画面扭曲
    SIFT特征匹配算法介绍
    SelectiveSearchCodeIJCV遇到First two input arguments should have the same 2D dimension
    mybatis逆向工程mvn插件
    ssm配置
    springmvc配置
    MyBatis如何禁用掉一级缓存
    Mybatis中#{}和${}的区别
    Java demo之IO
  • 原文地址:https://www.cnblogs.com/bo083/p/2350026.html
Copyright © 2011-2022 走看看