Autotools AC_SEARCH_LIBS查找库,但不会将其添加到$ LIBS

时间:2016-05-08 19:23:39

标签: shared-libraries autotools dlopen

我正在使用autotools来配置和构建使用dlopen及其朋友的项目。

我的根目录configure.ac中有以下代码段:

AC_SEARCH_LIBS([dlopen], [dl dld], [], [ AC_MSG_ERROR([unable to find the dlopen() function]) ])

我从https://autotools.io/autoconf/finding.html

获得的

该库由autotools找到:

checking for library containing dlopen... -ldl

但是,该库似乎没有添加到$(LIBS),因为:

a_out_LDADD=-ldl

工作(即项目编译和运行)和

a_out_LDADD=$(LIBS)

没有(即undefined reference to 'dlopen'

我错过了什么?

1 个答案:

答案 0 :(得分:0)

(完全披露,我是链接文档的作者。)

你确定LIBS变量没有被某种方式破坏吗?您可以查看config.log以查看最终输出是什么。我认为最常见的问题是后来的行LIBS=${SOMEDEPS_LIBS}没有预先设置旧的LIBS值。

此外,您不需要执行_LDADD=$(LIBS)因为后者默认添加到所有链接命令。