Статическая библиотека, которая связывает другую статическую библиотеку и qmake? Нечетная ошибка связи - PullRequest
1 голос
/ 21 сентября 2009

У меня есть два файла qt .pro, оба с использованием lib TEMPLATE и staticlib CONFIG. Первая библиотека (давайте назовем ее 'core') является зависимостью для второй библиотеки (я назову ее 'foo'). Фактически, в foo есть класс, который расширяет класс в ядре, я назову этот класс Bar.

Когда я создаю экземпляр класса (который определен и реализован в foo, но расширяет класс (Bar) из ядра) в другом проекте (не в lib), я получаю следующую ошибку компоновки:

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

По сути, компоновщик не может найти класс в базовой библиотеке, который был получен из библиотеки foo, но ТОЛЬКО когда я создаю экземпляр класса в третьем проекте, который использует обе библиотеки. Ожидается ли такое поведение?

С уважением, Дэн О

Обновление: я исправил это, непосредственно вызвав конструктор Bars в третьем проекте перед использованием производного класса ... Кто-нибудь знает, почему мне нужно это сделать?

1 Ответ

2 голосов
/ 13 марта 2010

Проблема в заказе. Это актуально для статических библиотек.

Изменить порядок библиотек в строке LIBS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...