Size: a a a

2020 May 08

V

Vyaches in Qt
Друзья! Подскажите пожалуйста!
Забыл унаследовать класс от QObject. Позднее это исправил, но начала вылезать ошибка "Undefined reference to 'vtable for MyClass'". Проект чистил, qmake делал - не помогает.
Может кто-нибудь что-то подсказать?
источник

AS

Anatoly Shirokov in Qt
Vyaches
Друзья! Подскажите пожалуйста!
Забыл унаследовать класс от QObject. Позднее это исправил, но начала вылезать ошибка "Undefined reference to 'vtable for MyClass'". Проект чистил, qmake делал - не помогает.
Может кто-нибудь что-то подсказать?
А где определен MyClass? В заголовочном файле или cpp?
источник

AE

Andrew Evseev in Qt
Vyaches
Друзья! Подскажите пожалуйста!
Забыл унаследовать класс от QObject. Позднее это исправил, но начала вылезать ошибка "Undefined reference to 'vtable for MyClass'". Проект чистил, qmake делал - не помогает.
Может кто-нибудь что-то подсказать?
Не забыть макрос Q_OBJECT
источник

V

Vyaches in Qt
Макрос не забыт.
Определен в h.
источник

AS

Anatoly Shirokov in Qt
Vyaches
Макрос не забыт.
Определен в h.
А покажи твой MyClass хотя бы урезанно с конструкторами и макросом
источник

AE

Andrew Evseev in Qt
Vyaches
Макрос не забыт.
Определен в h.
Вызов базового конструктора QObject есть?
источник

V

Vyaches in Qt
class MyClass : public QObject
{
  Q_OBJECT
public:
  explicit MyClass (QObject *parent=0);
  ~MyClass(){};
...
}
источник

V

Vyaches in Qt
К сожалению не могу ни скинуть не сфотографировать. Комп рабочий, интернетов нет :(
источник

AS

Anatoly Shirokov in Qt
Vyaches
class MyClass : public QObject
{
  Q_OBJECT
public:
  explicit MyClass (QObject *parent=0);
  ~MyClass(){};
...
}
explicit странно выглядит с дефолтным параметром
источник

МВ

Макс Воробьев... in Qt
Vyaches
class MyClass : public QObject
{
  Q_OBJECT
public:
  explicit MyClass (QObject *parent=0);
  ~MyClass(){};
...
}
virtual  ~MyClass() = default; ?
источник

МВ

Макс Воробьев... in Qt
или вообще удалить
источник

V

Vyaches in Qt
Explicit чтоб Только через укпзптель данный класс объявлять, верно же?
источник

V

Vyaches in Qt
Делло вроде не в нем
источник

V

Vyaches in Qt
Диструктор пробовал удалять/комментировать - ничего. Да и как тогда без него...
источник

МВ

Макс Воробьев... in Qt
Vyaches
Диструктор пробовал удалять/комментировать - ничего. Да и как тогда без него...
вынеси деструктор в .cpp
источник

МВ

Макс Воробьев... in Qt
и добавь к нему virtual
источник

M

Mr_ChAI in Qt
Vyaches
Explicit чтоб Только через укпзптель данный класс объявлять, верно же?
Explicit чтобы нельзя было неявно преобразовать этим конструктором
источник

AE

Andrew Evseev in Qt
Vyaches
Диструктор пробовал удалять/комментировать - ничего. Да и как тогда без него...
Удали всю папку build и ещё раз собери
источник

V

Vyaches in Qt
Andrew Evseev
Удали всю папку build и ещё раз собери
Не помогло.
источник

V

Vyaches in Qt
Пробую вынести деструктор
источник