autotools:如何在configure.ac

时间:2016-05-24 14:38:13

标签: autotools autoconf automake m4

在我的项目中,我有文件夹m4。在这个文件夹中,我有ax_cxx_version.m4文件,其中包含AX_CHECK_CXXFLAGS宏。

然后我在autoconf.ac中包含了m4文件夹:

AC_CONFIG_MACRO_DIR([m4])

并执行autoconf。

当我运行配置脚本时,它失败并出现流动错误:

checking complex usability... yes
checking complex presence... yes
checking for complex... yes
checking size of int64_t... 8
checking for long long int... yes
./configure: line 7235: syntax error near unexpected token `-std=c++0x'
./configure: line 7235: `AX_CHECK_CXXFLAGS(-std=c++0x -pedantic -Wall)'

如果我将我的宏添加到aclocal.m4,那么一切都运行良好。

包含我自己的宏的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

问题是AC_CONFIG_MACRO_DIR实际上并没有设置包含路径,而是让aclocal生成正确的文件。但是aclocal是automake的一部分,如果你只是执行autoconf,它就不会被调用。

您可以开始调用autoreconf而不是autoconf来重新生成文件,这应该可以解决问题。或者,如果您不想依赖automake,可以使用m4_include的其他一些技巧。

关于此事的相关(由我撰写)文件可在Autotools Mythbuster上找到。

相关问题