前言
使用autoconf报错,一般是相应的工具链没有装好
autoconf 使用教程:https://blog.csdn.net/u010020404/article/details/82770848
pkg-config
介绍
用来返回已安装库的基本信息
安装
sudo apt install pkg-config
问题
未安装使用autoconf命令报错
configure.ac:59: error: possibly undefined macro: AC_DEFINE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
libtool
介绍
libtool常见于autoconf/automake,单独用的例子很少
libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中,也就是说,你可以通过如下所示的标准方法,在不同平台上创建并调用动态库,我们 可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节,只要告诉libtool说我需要要编译哪 些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。
安装
sudo apt install libtool
问题
在linux下编译c/c++程序出错:
configure.in:18: required file `build/ltmain.sh' not found
解决
libtoolize --automake --copy --debug --force
build-essential
介绍
linux操作系统上面开发程序, 光有了gcc 是不行的
它还需要一个 build-essential软件包
作用是提供编译程序必须软件包的列表信息
也就是说 编译程序有了这个软件包
它才知道 头文件在哪 才知道库函数在哪
还会下载依赖的软件包 最后才组成一个开发环境
当然 build-essential包 安装时 需要的依赖包 有些你用不上
安装
软件包: build-essential 安装方法:
sudo apt-get install build-essential