Sto creando un progetto che utilizza Autoconf. Ho il seguente in configure.ac
:Boost e Autoconf
AC_CHECK_HEADERS([boost/foreach.hpp], [],
[AC_MSG_ERROR(You need the Boost libraries.)])
Quando eseguo configure
, si dice che non riesce a trovare questo file di intestazione:
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.
Questo è strano, perché ho Boost. Se rimuovo l'assegno, compila il codice, e ho installato Boost:
$ find /usr/include -name foreach.hpp
/usr/include/boost/foreach.hpp
/usr/include/boost/test/utils/foreach.hpp
Nota che ho fatto esattamente lo stesso con SDL, e funziona.
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
Potresti essere interessato a http://github.com/tsuna/boost.m4, che è un set di macro Autoconf per il controllo di intestazioni e librerie Boost, oltre alla versione minima di Boost. – ZoogieZork
Controllare config.log per vedere esattamente perché non è riuscito. academicRobot è probabilmente corretto che sta cercando di compilare con un compilatore C. –
boost.m4 ha funzionato perfettamente per me. Sono stato in grado di costruire contro diverse versioni di boost con esso senza problemi (così come su più sistemi operativi). – squeegee