我有两个 qt .pro 文件,都使用 lib TEMPLATE 和 staticlib CONFIG。第一个库(我们称之为“核心”)是第二个库的依赖项(我称之为“foo”)。其实 foo 中有一个类扩展了 core 中的一个类,我将这个类称为 Bar。
当我在另一个项目(不是库)中实例化类(在 foo 中定义和实现,但从核心扩展类(Bar))时,我收到以下链接错误:
/usr/bin/ld: Undefined symbols:
Bar::Bar()
基本上,链接器无法在 foo lib 中派生的核心 lib 中找到类,但仅当我在使用这两个库的第三个项目中实例化该类时。这种行为是预期的吗?
问候,丹 O
更新:在使用派生类之前,我通过在第三个项目中直接调用 Bars 构造函数来修复它......有人知道我为什么需要这样做吗?