首页 > 解决方案 > Qt 静态库未定义引用

问题描述

我有这种情况:

在 B.pro 我有

LIBS += -lA

在 C.pro 我有

LIBS += -lA

在 app.pro 我有

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

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

我怎样才能解决这个问题?谢谢

标签: c++qtqt-creatorstatic-libraries

解决方案


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

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

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

推荐阅读