Estoy haciendo un proyecto que usa Autoconf. Tengo el siguiente en configure.ac
:Boost y Autoconf
AC_CHECK_HEADERS([boost/foreach.hpp], [],
[AC_MSG_ERROR(You need the Boost libraries.)])
Cuando corro configure
, que dice que no puede encontrar el archivo de cabecera:
checking boost/foreach.hpp usability... no
checking boost/foreach.hpp presence... no
checking for boost/foreach.hpp... no
configure: error: You need the Boost libraries.
Esto es extraño, porque tengo Boost. Si quito el cheque, el código se compila, y tengo instalado Boost:
$ find /usr/include -name foreach.hpp
/usr/include/boost/foreach.hpp
/usr/include/boost/test/utils/foreach.hpp
Tenga en cuenta que lo hice exactamente lo mismo con SDL, y funciona.
AC_CHECK_HEADERS([SDL/SDL.h], [],
[AC_MSG_ERROR(You need the SDL development library.)])
...
checking SDL/SDL.h usability... yes
checking SDL/SDL.h presence... yes
checking for SDL/SDL.h... yes
Puede estar interesado en http://github.com/tsuna/boost.m4, que es un conjunto adicional de macros Autoconf para verificar encabezados y bibliotecas de Boost, así como la versión mínima de Boost. – ZoogieZork
Comprueba config.log para ver exactamente por qué falló. academicRobot es probablemente correcto que está intentando compilar con un compilador de C. –
boost.m4 funcionó a la perfección para mí. Pude construir contra varias versiones de boost con él sin ningún problema (así como en múltiples sistemas operativos). – squeegee