Autoconf中AC_CHECK_LIB依赖第三方库时FAIL

在lighttpd模块开发中遇到configure使用autoconf进行库检查的问题。AC_CHECK_LIB(z, deflate, [func1], [func2])用于检查libz的deflate函数,但检查失败。通过分析config.log和libz的检查过程,发现可以修改AC_CHECK_LIB的第一个参数,如将它改为'-lcrypto'以链接到crypto库,并成功解决了检查失败的问题。这种方法的合理性还有待探讨。" 120864189,7475434,Ubuntu 使用 heirloom-mailx 发送邮件教程,"['Ubuntu', 'Linux', '邮件服务']
摘要由CSDN通过智能技术生成

    尝试在lighttpd中新增一个module时,发现configure是通过autoconf产生的,需要修改其中的configure.ac,这其中都是autoconf的语法,依葫芦画瓢,这里以zlib为例:

AC_MSG_CHECKING(for zlib support)
AC_ARG_WITH(zlib, AC_HELP_STRING([--with-zlib],[Enable zlib support for mod_compress]),
    [WITH_ZLIB=$withval],[WITH_ZLIB=yes])
AC_MSG_RESULT([$WITH_ZLIB])

if test "$WITH_ZLIB" != "no"; then
  AC_CHECK_LIB(z, deflate, [
    AC_CHECK_HEADERS([zlib.h],[
      Z_LIB=-lz
      AC_DEFINE([HAVE_LIBZ], [1], [libz])
      AC_DEFINE([HAVE_ZLIB_H], [1])
    ])
  ])
  if test x$Z_LIB = x; then
     AC_MSG_ERROR([zlib-headers and/or libs where not found, install them or build with --without-zlib])
  fi
fi
AC_SUBST(Z_LIB)

AC_CHECK_LIB(z, deflate, [func1],[func2])表示check libz中的函数deflate 是否正常,如果check OK则调用func1,如果失败则调用func2

这个check的过程可以参考config.log:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值