Qt 静态库未定义引用



>我有这种情况:

  • 没有依赖关系的libA.a
  • 依赖于libA的libB.a
  • 依赖于libA.a的libC.a

在 B.pro 我有

LIBS += -lA

在 C.pro 我有

LIBS += -lA

在 app.pro 我有

LIBS += -lA
LIBS += -lB
LIBS += -lC

但是当我编译链接器时,在libB和libC中使用的libA类上给了我未定义的引用。

我该如何解决这个问题?谢谢

LIBS += -lA

在B.pro 和 C.pro 中被忽略。该选项仅适用于链接器,即构建共享库或可执行二进制文件。

要解决未定义引用的问题,请在 app.pro 中重新排序库。依赖库的顺序确实很重要。请参阅指定相互依赖的链接库的顺序是错误的。

LIBS += -lB
LIBS += -lC
LIBS += -lA

最新更新