source portable opencobol open gnucobol c++ c++11 autotools autoconf

portable - Autotools verifica si hay C++ 11



gnucobol windows (2)

Utilizo AX_CXX_COMPILE_STDCXX_0X (puedo ver en autoconf-archive) para verificar las capacidades de c ++ 11 del compilador. Determina correctamente que -std=c++0x necesario, pero no lo agrega a CXXFLAGS . Eché un vistazo a la fuente de macros y realmente verifica, pero luego restaura las marcas anteriores.

¿Qué debo hacer para configurar CXXFLAGS para poder compilar la fuente de c ++ 11?

El solo hecho de agregar -std=c++0x a AM_CXXFLAGS no es una buena solución, porque me gustaría poner la carga de compilar el compilador en modo C ++ 11 en los desarrolladores de autoconf, no yo.


En general, puede compilar un código simple y establecer una variable según el resultado de su compilación

DIALECT="-std=c++14" echo ''int main() {return 0;}'' > ./log.cpp && $CXX -std=c++14 ./log.cpp || $DIALECT="no" if test $DILAECT = no; then AC_MSG_ERROR([c++ compiler does not support c++14]) else echo $DILAECT fi


Lo que estás buscando ya se ha hecho como AX_CXX_COMPILE_STDCXX_11 , parte de autoconf-archive . Agregará la opción requerida al entorno (anteriormente a través de CXXFLAGS , ahora a través de CXX ) y se producirá un error si no hay soporte para C ++ 11 disponible.