自动工具(Autotools)出现 ax_check_compile_flag 语法错误

15

我正在使用Autotools来构建我的C++应用程序。在我的configure.ac文件中,我有以下这行代码:

AX_CHECK_COMPILE_FLAG([-Wall], [CPPFLAGS="$CPPFLAGS -Wall"])

在运行 autoreconf -i 之后,在执行 ./configure 的时候会导致以下错误:

./configure: line 3825: syntax error near unexpected token `-Wall,'
./configure: line 3825: `AX_CHECK_COMPILE_FLAG(-Wall, CPPFLAGS="$CPPFLAGS -Wall")'

我的系统:Linux web 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux

在我的 Ubuntu 机器上它运行良好,为什么我会收到这个错误?

1个回答

25
autoreconf 并不是魔法(尽管我遇到过一些软件包维护者显然相信这一点)。当您运行autoreconf时,它无法找到AX_CHECK_COMPILE_FLAG 宏,并生成一个损坏的configure脚本。通常会同时产生错误/诊断消息。
'AX_CHECK_COMPILE_FLAG` 来自于autoconf archive 项目,Debian提供了一个名为autoconf-archive的软件包来提供这个东西。很可能,您忘记安装它了:
sudo apt-get install autoconf-archive

5
只是想补充一下,对于使用此解决方案的任何人来说,在安装autoconf-archive之后,确实需要重新运行autoconf。 - Eliezer Miron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接