Russian Qt Forum
Ноябрь 25, 2024, 18:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Затык на линковке - undefined reference to vtable  (Прочитано 4719 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Август 08, 2015, 16:08 »

Одолел компиляцию, теперь затык на линковке.

Вроде бы стандартный класс:

Код:
class AttachTableModel : public QAbstractTableModel
{
  Q_OBJECT // <-- ЗДЕСЬ ОШИБКА

public:
  AttachTableModel(QObject *parent);
  virtual ~AttachTableModel();


Код:
AttachTableModel::AttachTableModel(QObject *parent) : QAbstractTableModel(parent) // <-- ЗДЕСЬ ОШИБКА
{
  table=NULL;
}

AttachTableModel::~AttachTableModel() // <-- ЗДЕСЬ ОШИБКА
{
  delete table;
}


Ошибки выглядят так:

Код:
./build/AttachTableModel.o: In function `ZN16AttachTableModelC2EP7QObject':
D:\work\build-mytetra-Desktop_Qt_5_4_2_MinGW_32bit-Debug/../mytetra_develop/src/models/attachTable/AttachTableModel.cpp:6: undefined reference to `vtable for AttachTableModel'
./build/AttachTableModel.o: In function `ZN16AttachTableModelD2Ev':
D:\work\build-mytetra-Desktop_Qt_5_4_2_MinGW_32bit-Debug/../mytetra_develop/src/models/attachTable/AttachTableModel.cpp:12: undefined reference to `vtable for AttachTableModel'
./build/AttachTableModel.o: In function `ZN16AttachTableModel2trEPKcS1_i':
Makefile.Debug:513: recipe for target 'bin/mytetra.exe' failed
mingw32-make[1]: Leaving directory 'D:/work/build-mytetra-Desktop_Qt_5_4_2_MinGW_32bit-Debug'
makefile:34: recipe for target 'debug' failed
D:\work\build-mytetra-Desktop_Qt_5_4_2_MinGW_32bit-Debug/../mytetra_develop/src/models/attachTable/AttachTableModel.h:18: undefined reference to `AttachTableModel::staticMetaObject'
collect2.exe: error: ld returned 1 exit status


Ничего подозрительного в коде не вижу.

В чем может быть проблема?

Ветка кода на GitHub: https://github.com/xintrea/mytetra_dev/tree/attachFiles

Коммит: https://github.com/xintrea/mytetra_dev/commit/893487456149ad0aef4a9917a0f946afc6940a12
« Последнее редактирование: Август 08, 2015, 21:14 от xintrea » Записан

Собираю информацию по крупицам
http://webhamster.ru
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #1 : Август 08, 2015, 19:13 »

Загрузил Ваши исходники, собрал без ошибок.
Возможно, просто сделать Очистку, запустить qmake и Пересобрать.
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #2 : Август 08, 2015, 21:13 »

Загрузил Ваши исходники, собрал без ошибок.
Возможно, просто сделать Очистку, запустить qmake и Пересобрать.

В общем, оказалось, что имеется какой-то трабл с системой сбори в Qt 5.4.2

В каталоге с .pro файлом лежат файлы:

Код:
object_script.mytetra.Debug
object_script.mytetra.Release

И вот в них есть все, кроме moc_AttachTableData.o. Может быть, еще чего-то не хватает.

Удалил их, и сборка заработала.

Кстати, при сборке эти файлы вновь не появились. Для чего эти файлы, что это за «скрипты» - непонятно.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 22.