如何用autotool构建一个工程
本文主要介绍如何用autotool工具构建一个自己的工程,每个工具具体是做什么用的,正常开发中应该在哪里增加相关配置文件等。
编写一个示例
main.c
#include "plib.h"
void main()
{
myprint();
}
plib/plib.h
void myprint();
plib/plib.c
#include <stdio.h>
void myprint()
{
printf("aaaaaaaa\n");
}
autoscan
autoscan会根据当前目录下的代码生成autoscan.log
和configure.scan
autoscan.log
记录了宏被调用的详细信息
configure.scan
根据目录下的源码生成的配置文件
# -*- 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])
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
aclocal
需要configure.ac
文件,生成aclocal.m4
文件
m4
autoconf
根据configure.in
文件生成configure
脚本
automake
根据Makefile.am
生成Makefile.in
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2019-10-30 git合并不同仓库下的分支
2019-10-30 gitignore忽略规则