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.