У меня есть два файла qt .pro, оба с использованием lib TEMPLATE и staticlib CONFIG. Первая библиотека (давайте назовем ее 'core') является зависимостью для второй библиотеки (я назову ее 'foo'). Фактически, в foo есть класс, который расширяет класс в ядре, я назову этот класс Bar.
Когда я создаю экземпляр класса (который определен и реализован в foo, но расширяет класс (Bar) из ядра) в другом проекте (не в lib), я получаю следующую ошибку компоновки:
/usr/bin/ld: Undefined symbols:
Bar::Bar()
По сути, компоновщик не может найти класс в базовой библиотеке, который был получен из библиотеки foo, но ТОЛЬКО когда я создаю экземпляр класса в третьем проекте, который использует обе библиотеки. Ожидается ли такое поведение?
С уважением,
Дэн О
Обновление: я исправил это, непосредственно вызвав конструктор Bars в третьем проекте перед использованием производного класса ... Кто-нибудь знает, почему мне нужно это сделать?