Qt stati c неопределенная ссылка на библиотеки - PullRequest
0 голосов
/ 26 мая 2020

У меня такая ситуация:

  • libA.a, у которой нет зависимостей
  • libB.a, которая зависит от libA.a
  • lib C. a, который зависит от libA.a

в B.pro у меня есть

LIBS += -lA

в C .pro у меня есть

LIBS += -lA

в приложении .pro у меня

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

Но когда я компилирую, компоновщик дает мне неопределенные ссылки на классы libA, которые используются в libB и lib C.

Как я могу это исправить? Спасибо

1 Ответ

1 голос
/ 26 мая 2020

LIBS += -lA игнорируются в B.pro и C .pro. Эта опция применима только для компоновщика, т. Е. Тогда создается разделяемая библиотека или исполняемый двоичный файл.

Чтобы решить проблему с неопределенными ссылками, переупорядочьте библиотеки в app.pro. Порядок зависимых библиотек имеет значение. См. Неправильный порядок, в котором указаны взаимозависимые связанные библиотеки.

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