gpt4 book ai didi

Autotools:top_srcdir 和 abs_top_srcdir 为空

转载 作者:行者123 更新时间:2023-12-05 07:57:26 25 4
gpt4 key购买 nike

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

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

在我的 configure.ac 中。到目前为止一切都很好。但是,如果我使用 make 构建项目,当它位于 currentproject/sources/时,我会从 libtool 中得到一个错误:

../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 ?谢谢你的帮助!

最佳答案

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

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

关于Autotools:top_srcdir 和 abs_top_srcdir 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27227796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com