我正在尝试使用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是否有办法自动发现?
答案 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]))