使用autotools工具制作Makefile过程可能出现问题与解决方式

  1. 首先是新建一个目录,例如:#mkdir automake
  2. 然后就进入这个目录,并且建立一个.c文件。例如:#cd automake

vim hello.c 建立一个代码如下所示:

#include "stdio.h"
int main()
{
        printf("hello,welcome to linux!");
}

 

     3. 运行命令,#autoscan。然后就ls下就有如下文件autoscan.log  configure.scan  hello.

     如果现在直接运行命令:#aclocal  就会出现以下提示错误:  aclocal: `configure.ac' or `configure.in' is required
     出现这个错误原因是:缺少提示两个文件

    解决方式:就是把configure.scan改名为configure.in

    4.此刻如果运行#aclocal 会生产configure文件

    5. 运行 #autoconf 后会生产很多文件,但是缺少后缀为.m4文件,后面就会出错,无法编译出makefile相关文件

    原因:前面没有修改configure.in 文件内容或者依赖项

    解决问题就是修改configure内容:

原来内容如下所示:

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

AC_PREREQ([2.63])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT

修改后内容:

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

AC_PREREQ([2.63])
AC_INIT(hello,1.0)
AM_CONFIG_SRCDUR(hello, 1.0)
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.
AC_CONFIG_FILES([Makefile])
AC_OUTPUT



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值