configure.ac没有在cygwin下找到依赖项

时间:2012-06-16 21:07:04

标签: cygwin autoconf

我在cygwin上使用autoconf / automake配置脚本,我遇到的问题是它没有完成我的依赖。

例如我在configure.ac中执行:

AC_CHECK_LIB(mp3lame,lame_init ,, AC_MSG_ERROR(找不到所需的库LAME。)) AC_CHECK_HEADER(lame / lame.h,AC_MSG_ERROR(找不到LAME的标题。)

找到跛脚。已安装Lame,如果我locate lame.h,我会在/usr/local/include/lame/lame.h中找到它。现在,如果我用

设置LIBRARY_PATH和INCLUDE_PATH

export INCLUDE_PATH = / usr / local / include / export LIBRARY_PATH = / usr / local / lib /

它按预期工作。我通过下载并运行来安装lame:

./configure
make
make install 

所以我认为它应该以一个“足够标准”的路径结束我的配置脚本来找到它。以类似的方式,我正在使用:

检查json解析器jansson
PKG_CHECK_MODULES(JANSSON,jansson)

除非我这样做,否则它找不到它:

导出PKG_CONFIG_PATH = / usr / local / lib / pkgconfig /

这是cygwin的问题(我不这么认为)或者我的configure.ac脚本有问题吗?

1 个答案:

答案 0 :(得分:1)

这不是cygwin的问题,也不是你的configure.ac。这是PKG_CHECK_MODULES的“功能”,也是我建议不要使用它的原因之一。如果使用从使用PKG_CHECK_MODULES的configure.ac生成的配置脚本,则用户必须设置PKG_CONFIG_PATH。最好的方法是使用AC_CHECK_LIB代替PKG_CHECK_MODULES。你绝对正确./configure && make && make install给你一个应该有用的标准安装。问题是PKG_CHECK_MODULES在标准安装方面表现不佳。