我目前正试图在我当前项目旁边的另一个项目中包含一个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
?谢谢你的帮助!
答案 0 :(得分:0)
不应使用srcdir
作为变量来确定构建对象的路径。请改用$(top_builddir)
。
要使用Makefile变量,您需要使用括号$()
或${}
。