我正在使用自动工具来构建我的C++应用程序。在我的 configure.ac 中,我有以下几行:
AX_CHECK_COMPILE_FLAG([-Wall], [CPPFLAGS="$CPPFLAGS -Wall"])
在执行 ./configure 时(在运行autoreconf -i之后)会导致以下错误:
./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计算机上,它运行良好,为什么会出现此错误?
最佳答案
autoreconf
并不是魔术(尽管我遇到了显然相信这一点的软件包维护者)。当您运行autoreconf
时,它找不到AX_CHECK_COMPILE_FLAG
宏,并生成了一个损坏的configure
脚本。通常,这会在同一时间生成错误/诊断消息。
“AX_CHECK_COMPILE_FLAG”来自autoconf archive项目,Debian有一个提供此功能的软件包autoconf-archive。您可能忘记了安装它:
sudo apt-get install autoconf-archive
关于c++ - 带有ax_check_compile_flag的autotools语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30412576/