autoconf是否发现系统上存在的头文件?

时间:2017-04-10 21:04:37

标签: path header-files autoconf

我正在尝试使用GNU autotools设置一个项目。我的一个源文件具有以下头文件指令:

#include<lapacke.h>

在OpenSUSE计算机上,lapacke.h中已安装/usr/include/openblas/,但此位置不适用于其他发行版。

在我的configure.ac文件中,我检查此头文件是否可用:

AC_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h stdint.h stdlib.h string.h unistd.h lapacke.h],,AC_MSG_ERROR([required header file missing]))

配置脚本无法在没有其他提示的情况下找到lapacke.h checking lapacke.h usability... no checking lapacke.h presence... no checking for lapacke.h... no configure: error: required header file missing

我可以手动指定目录./configure CFLAGS="-I/usr/include/openblas"并成功。最终用户是否必须手动提交路径以查找lapacke.h,或者autoconf是否有办法自动发现?

1 个答案:

答案 0 :(得分:1)

  

最终用户是否必须手动提交路径以查找lapacke.h,或者autoconf是否有办法自动发现?

这可以告诉autoconf,但不一定要自动解决,例如:

AC_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h stdint.h stdlib.h string.h unistd.h],,AC_MSG_ERROR([required header file missing]))
AC_CHECK_HEADERS([openblas/lapacke.h lapacke.h],,AC_MSG_ERROR([required header file missing]))