Uso AX_CXX_COMPILE_STDCXX_0X
(puede consultar autoconf-archive) para comprobar las capacidades de C++ 11 del compilador. Determina correctamente que se requiere -std=c++0x
, pero no lo agrega al CXXFLAGS
. Eché un vistazo a la fuente de macro y realmente comprueba pero luego restaura los indicadores anteriores.Comprobación de Autotools para C++ 11
¿Qué debo hacer para obtener el conjunto CXXFLAGS
para poder compilar la fuente C++ 11?
Simplemente agregando -std=c++0x
a AM_CXXFLAGS
no es una buena solución, porque me gustaría poner la carga de hacer que el compilador compila en modo C++ 11 en los desarrolladores de autoconf, no yo.
'configure.ac:15: Error: AC_LANG_ASSERT: el lenguaje actual no es C++: C ../../lib/autoconf/lang.m4:156: AC_LANG_ASSERT se expande desde ... m4/ax_cxx_compile_stdcxx_11. m4: 48: AX_CXX_COMPILE_STDCXX_11 se expande desde ... configure.ac:15: el nivel superior autom4te:/usr/bin/m4 falló con el estado de salida: 1 aclocal: error:/usr/bin/autom4te falló con la salida estado: 1 autoreconf: error de aclocal con estado de salida: 1' Lo puse justo después de 'AC_PROG_CXX'. ¿Qué hice mal? – KAction
Perdón por un largo comentario. No encontré forma de formatearlo. Bueno, agregué 'AC_LANG ([C++])' justo antes de 'AX_CXX_COMPILE_STDCXX_11', pero asumí que es llamado por' AC_PROG_CXX'. – KAction
@illusionoflife 'AC_PROG_CXX' no debería hacer eso porque estropearía los scripts de configuración que tienen verificaciones en C y C++. La mayoría de los controles de autoconf dependen de C. Agregar AC_LANG como usted tiene es lo correcto. – hvd