autoconfig,automake 编译project
程序员文章站
2024-03-20 22:02:04
...
autoconfig,automake编译project
编辑文件:
helloworld.c
configure.ac
Makefile.am
创建过程:
autoscan; aclocal; autocconf; automake --add-missing; ./configure ; make
下面给出helloworld 的例子
- $cat helloworld.c
#include <stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
- configure.ac 的编写
autoscan ;
cp configure.scan configure.ac ;
vim configure.ac
configure.ac 主要是定义一些宏
其中AC_INIT_AUTOMAKE是需要手动添加的
$cat configure.ac
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([main.c])
AM_INIT_AUTOMAKE
#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
其中AM_INIT_AUTOMAKE, AC_CONFIG_FILES([Makefile])是手工添加的, 意思是configure 配置中要生成Makefile
- aclocal
aclocal; 是一个perl脚本, 以configure.ac 为输入,生成aclocal.m4 及autom4te.cache 目录
- autoconf
autoconf 是一个shell脚本, 它以configure.ac为输入, 输出configre 脚本文件.
- 编辑Makefile.am
cat Makefile.am
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=main.c
- 运行automake --addmissing
可以简单的写为: automake -a
添加一些必要的软链接,同时生成makefile.in
-
运行./configure 生成Makefile
-
执行make 生成执行文件
上一篇: Windows安装Redis
推荐阅读
-
autoconfig,automake 编译project
-
Java Decompiler project,java反编译器 博客分类: java
-
Java Decompiler project,java反编译器 博客分类: java
-
错误解决——Cmake编译openCV出现“Error in configuration process,project files may be invalid”
-
编译运行 react native 项目报错:Project with path ':react-native-picker' could not be found in project ':app'
-
Qt5交叉编译Project Error: Unknown module(s) in QT: script-private解决办法
-
iOS 项目编译出现 Pods-resources.sh Permission denied in iOS Project提示解决方案
-
微软发布新型VB/C#编译器“Project Roslyn”