【问题标题】:Static lib that links another static lib and qmake? Odd linking error链接另一个静态库和qmake的静态库?奇怪的链接错误
【发布时间】:2009-09-20 20:44:24
【问题描述】:

我有两个 qt .pro 文件,都使用 lib TEMPLATE 和 staticlib CONFIG。第一个库(我们称之为“核心”)是第二个库的依赖项(我称之为“foo”)。其实foo里面有一个类继承了core里面的一个类,我把这个类叫做Bar。

当我在另一个项目(不是 lib)中实例化类(在 foo 中定义和实现,但从核心扩展类(Bar))时,我收到以下链接错误:

    /usr/bin/ld: Undefined symbols:
   Bar::Bar()

基本上,链接器在核心库中找不到从 foo 库派生的类,但只有当我在使用这两个库的第三个项目中实例化该类时。这是预期的行为吗?

问候, 丹欧

更新:在使用派生类之前,我通过在第三个项目中直接调用 Bars 构造函数来修复它...有人知道我为什么需要这样做吗?

【问题讨论】:

    标签: c++ linker static-libraries qmake


    【解决方案1】:

    问题在于顺序。它与静态库有关。

    更改 LIBS 行中库的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2011-04-04
      相关资源
      最近更新 更多