
Estoy intentando utilizarlo autoconf
para crear un configure
script. Sin embargo, algunos de los encabezados que quiero verificar requieren indicadores de compilación adicionales (p. ej. c++11
). Puedo llegar parcialmente allí con la respuesta.aquídonde las líneas relevantes se ven así en el configure.ac
archivo.
AX_CXX_COMPILE_STDCXX_11(,[mandatory])
AC_CHECK_HEADER("CL/cl2.hpp")
pero la std=gnu++11
bandera no se pasa al paso de preprocesamiento AC_CHECK_HEADERS
donde termino con el resultado extraño donde es utilizable pero no está presente:
checking CL/cl2.hpp usability... yes
checking CL/cl2.hpp presence... no
Mirando en el config.log
muestra las siguientes líneas:
configure:3423: checking CL/cl2.hpp presence
configure:3423: g++ -E conftest.cpp
In file included from conftest.cpp:19:0
/usr/include/CL/cl2.hpp:442:2: error #error Visual studio 2013 or another C++11-supported compiler required
donde puedo ver claramente que no se está utilizando la bandera de C++. ¿Cómo puedo utilizar indicadores del compilador en estos pasos del preprocesador?
EDITAR
Puedo solucionar esto manualmente configurando manualmente CXXCPP
cuando se ejecuta, configure
pero me gustaría que se ejecute sin que el usuario final necesite saberlo.
./configure CXXCPP="g++ -E -std=gnu++11"
Respuesta1
La solución actual que se me ocurrió es agregar manualmente:
CXXCPP="g++ -E -std=gnu++11"
directamente al configure.ac
archivo. Me encantaría escuchar respuestas adicionales.
Respuesta2
Tuve que ejecutar configurar así:
./configure CCFLAGS="-std=c++11" CXXFLAGS="-std=c++11" CXXCPP="-std=c++11"