2013-08-17 25 views
5

Próbuję włączyć C++ 11 dla gcc 4.6; Używam autconf i dodałem następujące do mojego pliku configure.acNie można włączyć C++ 11 przy użyciu 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 

otrzymuję następujący błąd

./configure: Linia 4949: błąd składni w pobliżu Nieoczekiwany token ,mandatory' ./configure: line 4949: AX_CXX_COMPILE_STDCXX_11 (obowiązkowe)”

próbowałem też AX_CXX_COMPILE_STDCXX_11 ([eXT], [obowiązkowe])

Chcę włączyć C++ 11 tak, że mogę go używać. Próbowałem bez AX_CXX_COMPILE_STDCXX_11 i tylko CXXFLAGS w moim Makefile, ale to nie działa. Więc proszę o pomoc. Dzięki.

Znaleziono odpowiedź: Najnowsza wersja AX_CXX_COMPILE_STDCXX_11 nie wymaga argumentu.

Odpowiedz

0

Czy na pewno masz najnowszą wersję makra? Sądząc po historii dostępnej z autoconf archive, oryginalna wersja makra spodziewała się tylko jednego argumentu, a nie dwóch. Jeśli nie masz drugiej lub trzeciej wersji testu, może to być przyczyną problemów.

+1

Próbowałem również użyć jednego z nich, ale otrzymałem polecenie erro ./configure: wiersz 5849: błąd składni w pobliżu nieoczekiwanego tokena "obowiązkowe" ./configure: wiersz 5849: "AX_CXX_COMPILE_STDCXX_11 (obowiązkowe)" – rkb