无法使用autoconf启用C ++ 11

时间:2013-08-17 02:18:04

标签: c++11 gnu configure automake

我正在尝试为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

我收到以下错误

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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