无法使用autoconf启用C++ 11

rkb*_*rkb 7 automake gnu configure c++11

我正在尝试为gcc 4.6启用c ++ 11; 我正在使用autconf,我在configure.ac文件中添加了以下内容

AC_PREREQ(2.61)
AC_INIT(SOLARCORE, 1.0.0, BUG-REPORT-ADDRESS)
AM_INIT_AUTOMAKE([1.10 no-define foreign])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/threading/node.h])
AC_CONFIG_HEADER([config.h])
AC_OUTPUT([Makefile src/threading/Makefile])

# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
#AC_LANG_PUSH([C++])
AC_LANG([C++])
AC_GNU_SOURCE
AX_CXX_COMPILE_STDCXX_11(,[mandatory])
CXXFLAGS='-Wall -std=gnu++0x'
AC_TYPE_SIZE_T

AC_OUTPUT
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

./configure:第4949行:意外标记附近的语法错误,mandatory' ./configure: line 4949:AX_CXX_COMPILE_STDCXX_11(,必填)'

我也试过AX_CXX_COMPILE_STDCXX_11([ext],[强制])

我想启用C++ 11以便我可以使用它.我尝试没有AX_CXX_COMPILE_STDCXX_11,并且我的Makefile中只有CXXFLAGS,但它无法正常工作.所以请帮忙.谢谢.

找到答案:最新版本的AX_CXX_COMPILE_STDCXX_11不需要参数.

Jon*_*ler 0

您确定您拥有最新版本的宏吗?从autoconf存档中可用的历史记录来看,宏的原始版本只需要一个参数,而不是两个。如果您没有获得测试的第二次或第三次修订,这可能会导致您遇到麻烦。