autotools:autoreconf 找不到宏,但 aclocal 可以
Posted
技术标签:
【中文标题】autotools:autoreconf 找不到宏,但 aclocal 可以【英文标题】:autotools: autoreconf can't find macro but aclocal can 【发布时间】:2010-07-15 21:49:11 【问题描述】:作为开发人员,我是第一次尝试使用 autotools,所以请见谅。
我正在使用Check 单元测试库,它在check.m4
中定义了宏AM_PATH_CHECK
,该宏安装在/usr/local/share/aclocal
中。通过编辑/usr/share/aclocal/dirlist
以包含/usr/local/share/aclocal
,我设法让aclocal
识别AM_PATH_CHECK
。
所以aclocal
运行并干净地返回(没有任何额外的参数)。
但是,当我运行 autoreconf --install
时,我得到了错误
configure.ac:36: error: possibly undefined macro: AM_PATH_CHECK
If this token and others are legitimate, please use m4_pattern_allow
See the Autoconf documentation
autoreconf: /usr/local/bin/autoconf failed with exit status: 1
我做错了什么?如何让autoreconf
知道AM_PATH_LOCAL
的存在?
【问题讨论】:
【参考方案1】:听起来 Check 自身安装不正确。你应该在那里提交一个错误。解决此问题的方法是添加
AC_CONFIG_MACRO_DIR([m4])
到configure.ac
,然后添加
ACLOCAL_AMFLAGS += -I m4
复制到Makefile.am
,然后将check.m4
复制到将在项目根目录中创建的m4
目录。
【讨论】:
检查可能是问题所在。我尝试了你的修复,但得到了同样的错误。 不,没有这样做。不过,谢谢。【参考方案2】:我让我的一位同行帮助我,我们发现问题在于没有安装 pkg-config
。 (显然,不是 OSX 的 XCode 工具的一部分)。
我不确定该向谁提交有关此问题的错误 - Check
应该在安装时检查 pkg-confg
吗?应该autoconf
?或者它是如此的标准以至于我应该向 XCode 工具的人抱怨?
【讨论】:
以上是关于autotools:autoreconf 找不到宏,但 aclocal 可以的主要内容,如果未能解决你的问题,请参考以下文章
autoreconf -fi 错误:可能未定义宏:AC_DEFINE 如果此令牌和其他令牌是合法的,请使用 m4_pattern_allow
【转】GNU autotools(二)关于autogen.sh的说明