我正在制作一个使用Autoconf的项目。我在configure.ac
中有以下内容:
AC_CHECK_HEADERS([boost/foreach.hpp], [],
[AC_MSG_ERROR(You need the Boost libraries.)])
当我运行
configure
时,它说找不到这个头文件: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.
这很奇怪,因为我已经安装了Boost。如果我去掉检查,代码就可以编译,而且我已经安装了Boost:
$ find /usr/include -name foreach.hpp
/usr/include/boost/foreach.hpp
/usr/include/boost/test/utils/foreach.hpp
请注意,我对SDL做了完全相同的操作,它也可以正常工作。
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