2016-05-08 15 views
0

我正在使用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

了该库是通过自动工具发现:

checking for library containing dlopen... -ldl

但是,图书馆似乎没有被添加到$(LIBS)因为:

a_out_LDADD=-ldl

工程(即项目编译并运行),并

a_out_LDADD=$(LIBS)

不(即undefined reference to 'dlopen'

我缺少什么?

回答

0

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

你确定LIBS变量没有得到打一顿不知何故?您可以检查config.log以查看最终输出是什么。我认为最常见的问题是后面一行LIBS=${SOMEDEPS_LIBS},而没有预先设置旧的LIBS值。

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

相关问题