gpt4 book ai didi

c++ - libtool .la 库文件路径错误

转载 作者:行者123 更新时间:2023-12-02 00:13:37 25 4
gpt4 key购买 nike

我遇到了与此类似的问题 unanswered question 。我正在将代码提交到构建系统以使用其 g++ 二进制文件。但是,构建会移动到具有随机生成名称的临时路径(例如 /temp-build/1ab3fDg/...),而 g++ 本身不会重新编译,并且 .la 不会刷新(不会刷新)可行的)。因此,当 libtool 查找 libstdc++.so 时,它会在 /temp-build/1ab3fDg/libstdc++.la 文件中查找以获取它的路径并看到:

libdir=/temp-build/J2213bgB/.../

这是 gcc 最初编译时的随机路径的目录。实际的 .so 与 .la 文件 (/temp-build/1ab3fDg) 位于同一目录中,但 libtool 是遵循错误的 libdir 路径。

我想知道是否有办法告诉 libtool 忽略 .la 文件并在我指定的目录中查找 libstdc++。或者,是否有其他可能的解决方案来解决这个问题?我正在使用 autoconf/automake 生成 Makefile。

最佳答案

如果您可以控制它,只需删除libstdc++.la。不幸的是,这是 libtool 的一个非常麻烦的设计,对用于安装软件的路径进行硬编码,并且可能会导致诸如此类的问题。

但是.la文件的值(value)非常有限,并且通常与静态文件的依赖跟踪有关,没有其他方式来表达它们。但对于 libstdc++ 来说,无论如何都没有依赖关系,因此 .la 文件即使对于静态存档也绝对没有用处。

作为引用,我已经写了很多关于这个主题的文章:

关于c++ - libtool .la 库文件路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24537455/

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