Autotools:top_srcdir和abs_top_srcdir为空

时间:2014-12-01 11:49:50

标签: autotools autoconf libtool

我目前正试图在我当前项目旁边的另一个项目中包含一个libtool库。我可以使用

检查配置中的库
LDFLAGS="$LDFLAGS -L$top_srcdir../otherproject/libotherproject/.libs/"
AC_CHECK_LIB([otherproject],[init],[],[AC_MSG_ERROR([No otherproject libary found.])])

在我的configure.ac中。到目前为止一切都很好。但是,如果我使用make构建项目,我在libtool中遇到错误,而它在currentproject / sources /中:

../libtool: line 5986: cd: ../otherproject/libotherproject/.libs/: No such file or directory
libtool: link: cannot determine absolute directory name of `../otherproject/libotherproject/.libs/'

这是合乎逻辑的,因为它应该类似于../../otherproject/libotherproject/.libs/。我尝试调试它,发现如果使用

AC_MSG_NOTICE([Top src dir is: $top_srcdir])

在configure.ac中,配置脚本告诉我

configure: Top src dir is: 

只。 $ abs_top_srcdir的行为相同。 $ srcdir是"。"总是。我在文档中挖掘了一下,发现$ builddir应该始终是"。",但在我的情况下也是空的。这是一个错误吗?也许我忘了拨打AC_init_anything?谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

不应使用srcdir作为变量来确定构建对象的路径。请改用$(top_builddir)

要使用Makefile变量,您需要使用括号$()${}