意外标记“AX_VALGRIND_CHECK”附近的语法错误
syntax error near unexpected token `AX_VALGRIND_CHECK'
我正在尝试使用 https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html 中描述的以下 m4 宏将 valgrind 集成到我的单元测试框架中。在我的 configure.ac 我有
AC_CONFIG_MACRO_DIR([m4])
...
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
我已将提供的 .m4 script 放在 ./m4 和 /usr/share/aclocal 中。要生成配置脚本等,我 运行 以下内容:
aclocal && autoconf && autoreconf --no-recursive --install && \
autoheader && libtoolize --force && automake --force-missing \
--add-missing
然而,当我执行 运行 ./configure
时,出现以下错误
./configure: line 12914: syntax error near unexpected token `AX_VALGRIND_CHECK'
./configure: line 12914: `AX_VALGRIND_CHECK'
我需要做什么才能让我的配置脚本与上面 .m4 script 提供的宏一起工作。我不确定要提供什么其他信息。
下面是我的configure.ac。我将尝试找出使用此 configure.ac 与 @Kusalananda 发布的 autoreconf -i
生成的问题在哪一点中断。
AC_INIT([binary_balanced], [0.1], [mehoggan@gmail.com])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AC_CONFIG_SRCDIR([./src/])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AM_PROG_AR
AM_PATH_CHECK
LT_INIT
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile
src/Makefile
tests/Makefile])
AC_OUTPUT
我无法重现你的问题。
我也很少 运行 除了 autoreconf -i
之外的任何东西。这将根据需要重新运行 其他自动工具。
我将 ax_valgrind_check.m4
放入 ./m4
目录并创建了一个存根 configure.ac
:
AC_PREREQ([2.69])
AC_INIT([test],[0.0.0-dev])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_MACRO_DIR([m4])
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
运行 autoreconf -i
创建一个执行以下操作的 configure
脚本:
$ ./configure
checking for a BSD-compatible install... /Users/kk/sw/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /Users/kk/sw/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for valgrind... no
所以宏被拾取了(它们不是你的情况)。
所以,运行 autoreconf -i
看看这是否适合您。
如果你不能让它工作,请尝试为你正在使用的任何 Unix 安装 autoconf-archive
包。它还将包含此宏。
我正在尝试使用 https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html 中描述的以下 m4 宏将 valgrind 集成到我的单元测试框架中。在我的 configure.ac 我有
AC_CONFIG_MACRO_DIR([m4])
...
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
我已将提供的 .m4 script 放在 ./m4 和 /usr/share/aclocal 中。要生成配置脚本等,我 运行 以下内容:
aclocal && autoconf && autoreconf --no-recursive --install && \
autoheader && libtoolize --force && automake --force-missing \
--add-missing
然而,当我执行 运行 ./configure
时,出现以下错误
./configure: line 12914: syntax error near unexpected token `AX_VALGRIND_CHECK'
./configure: line 12914: `AX_VALGRIND_CHECK'
我需要做什么才能让我的配置脚本与上面 .m4 script 提供的宏一起工作。我不确定要提供什么其他信息。
下面是我的configure.ac。我将尝试找出使用此 configure.ac 与 @Kusalananda 发布的 autoreconf -i
生成的问题在哪一点中断。
AC_INIT([binary_balanced], [0.1], [mehoggan@gmail.com])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
AC_CONFIG_SRCDIR([./src/])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AM_PROG_AR
AM_PATH_CHECK
LT_INIT
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile
src/Makefile
tests/Makefile])
AC_OUTPUT
我无法重现你的问题。
我也很少 运行 除了 autoreconf -i
之外的任何东西。这将根据需要重新运行 其他自动工具。
我将 ax_valgrind_check.m4
放入 ./m4
目录并创建了一个存根 configure.ac
:
AC_PREREQ([2.69])
AC_INIT([test],[0.0.0-dev])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_MACRO_DIR([m4])
AX_VALGRIND_DFLT()
AX_VALGRIND_CHECK
运行 autoreconf -i
创建一个执行以下操作的 configure
脚本:
$ ./configure
checking for a BSD-compatible install... /Users/kk/sw/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /Users/kk/sw/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for valgrind... no
所以宏被拾取了(它们不是你的情况)。
所以,运行 autoreconf -i
看看这是否适合您。
如果你不能让它工作,请尝试为你正在使用的任何 Unix 安装 autoconf-archive
包。它还将包含此宏。