2013-08-17 3 views
5

Я пытаюсь включить C++ 11 для gcc 4.6; Я использую autconf и я добавил следующее в мой файл configure.acНевозможно включить C++ 11 с помощью autoconf

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 и только с CXXFLAGS в моем Makefile, но он не работает. Так что, пожалуйста, помогите. Благодарю.

Нашел ответ: Последняя версия AX_CXX_COMPILE_STDCXX_11 не нуждается в аргументе.

ответ

0

У вас есть последняя версия макроса? Судя по истории, доступной из autoconf archive, исходная версия макроса ожидала только один аргумент, а не два. Если у вас нет второго или третьего пересмотра теста, это может послужить причиной ваших проблем.

+1

Я попытался использовать его, но получил следующую строку erro ./configure: строка 5849: синтаксическая ошибка около неожиданного токена 'обязательный ' ./configure: строка 5849:' AX_CXX_COMPILE_STDCXX_11 (обязательно)' – rkb

Смежные вопросы