【问题标题】:Not able to enable C++11 using autoconf无法使用 autoconf 启用 C++11
【发布时间】:2013-08-17 10:46:05
【问题描述】:

我正在尝试为 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(,mandatory)'

我也试过 AX_CXX_COMPILE_STDCXX_11([ext],[mandatory])

我想启用 C++11 以便我可以使用它。我尝试不使用 AX_CXX_COMPILE_STDCXX_11 并且在我的 Makefile 中只使用 CXXFLAGS 但它不起作用。所以请帮忙。谢谢。

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

【问题讨论】:

    标签: c++11 gnu configure automake


    【解决方案1】:

    您确定您拥有最新版本的宏吗?从autoconf archive 的历史来看,宏的原始版本只需要一个参数,而不是两个。如果您没有第二次或第三次修改测试,那可能是您遇到问题的原因。

    【讨论】:

    • 我也试过使用一个,但出现以下错误 ./configure: line 5849: syntax error near unexpected token mandatory' ./configure: line 5849: AX_CXX_COMPILE_STDCXX_11(mandatory)'
    猜你喜欢
    • 2015-10-16
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2012-04-19
    • 2018-09-12
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多