QT:对 lib (astra linux) 类的构造函数的未定义引用

问题描述 投票:0回答:1

我有一个用 Windows 开发的项目。它使用了我的一些库(有时使用其他库)并且在 Win 中它完美地工作。

现在我尝试在 Astra Linux 中运行它并遇到一个奇怪的问题。

一个文件依存关系看起来像(例子):

我有一个库 core.so、my.so 和 manager.so -> manager 使用 core.so 和 my.so,我可以构建这个 witout 问题。 然后我有一个使用 manager.so 的主应用程序,我有这个警告:

libmy.so.1 needed by ***output_path***/libmanager.so, not found (try using -rpath)

和一个错误:

undefined reference to my::my()

所有文件都存在(检查了 100 次并且已经尝试将所有 lib 放在所有可能的文件夹中)!最奇怪的是,我对 core.so 没有同样的问题,manager.so 使用相同的方式,它位于相同的文件夹中。也许在 Linux 中使用库链有任何细微差别?我提醒一下,在 Win 中它工作得很好,这让我很困惑。

我尝试配置所有路径,但我一直遇到同样的问题

linux qt qt5 lib datastax-astra
1个回答
0
投票

嘿,这很有趣,但我发现了一个解决方案,破坏了我所有的计划。

问题是我也必须在主应用程序中添加一个 lib 路径(即使我不使用它的任何类)。我在 Windows 中再次检查了它,它在应用程序中没有路径的情况下工作(在模块中添加路径就足够了)。所以,这意味着如果我更改了任何模块,我必须再次重建所有模块和应用程序:|

Idk,也许这些信息对任何人都有用。

© www.soinside.com 2019 - 2024. All rights reserved.