0

我编写了一个QT包含三个项目的应用程序:Lib、RT、Gui。

Lib 已创建为共享库,供 RT 和 Gui 使用。

我创建了一个 svn 存储库,我在其中提交所有更改。使用我的第一台计算机,没有编译或链接问题。

当我在我的第二台电脑(我安装了不同的 linux 发行版)中从 svn 中签出时,如果我尝试编译 Lib 和 RT,则没有问题,但在编译 Gui 时,我收到 10 条此类错误消息:

/path_to_the_project_folder/lib/core.so:-1: 错误:未定义的对 `mylibnamespace::Converter::Converter(int)' 的引用

这应该意味着 Converter::Converter(int)' 没有定义,而是它实际上在第一台电脑上工作。

我一直在想,也许是因为在 svn 中可能有旧的目标文件但没有,无论如何,我在编译之前做了一个干净的项目。

我还尝试/etc/ld.so.conf使用 lib 路径和其他内容更新文件,但似乎一切正常。

.pro 文件看起来也不错,因为它们在第一台电脑上工作。

有什么建议么?

先感谢您

4

1 回答 1

0

好的,我找到了解决方案..

这是库的顺序

LIBS += -myproj1 -myproj2 ...

而不是 LIBS += -myproj2 -myproj1 ...

我不知道为什么在另一台电脑上工作,但这是解决方案。

于 2013-06-29T07:53:44.713 回答