Size: a a a

2020 December 14

AS

Anatoly Shirokov in Qt
Евгений Борец
Всем привет. Я решил обновиться до Qt 5.14.2. Пытаюсь пересобрать проект и получаю вот:
error: LNK2001: неразрешенный внешний символ ""public: virtual struct QMetaObject const * __thiscall Utils::metaObject(void)const " (?metaObject@Utils@@UBEPBUQMetaObject@@XZ)"

Читал способы про удаление макроса Q_OBJECT и все в том роде, но как-то не помогает, может кто сталкивался с этим?
такое бывает, надо либо qmake перезапустить, чтобы мок отработал, либо ты С++ класс c Q_OBJECT  в cpp добавил
источник

ЕБ

Евгений Борец... in Qt
Anatoly Shirokov
такое бывает, надо либо qmake перезапустить, чтобы мок отработал, либо ты С++ класс c Q_OBJECT  в cpp добавил
Благодарю!!
источник

ЕБ

Евгений Борец... in Qt
Anatoly Shirokov
такое бывает, надо либо qmake перезапустить, чтобы мок отработал, либо ты С++ класс c Q_OBJECT  в cpp добавил
Первый вариант не прокатил, буду смотреть 2-й.
источник

IZ

Ilia Zviagin in Qt
Евгений Борец
Всем привет. Я решил обновиться до Qt 5.14.2. Пытаюсь пересобрать проект и получаю вот:
error: LNK2001: неразрешенный внешний символ ""public: virtual struct QMetaObject const * __thiscall Utils::metaObject(void)const " (?metaObject@Utils@@UBEPBUQMetaObject@@XZ)"

Читал способы про удаление макроса Q_OBJECT и все в том роде, но как-то не помогает, может кто сталкивался с этим?
Utils - твой класс?
источник

ЕБ

Евгений Борец... in Qt
Да.
источник

RG

Renat Garaev in Qt
Евгений Борец
Первый вариант не прокатил, буду смотреть 2-й.
Qt новее 6.0 сам себя (пересборку) из Qt исходников, уже нельзя делать qmake, только с помощью cmake. А в версии 6.0 еще можно qmake на сорцы направлять)
источник

IZ

Ilia Zviagin in Qt
Ну тогда Толя вон сказал уже про класс в спп
источник

ЕБ

Евгений Борец... in Qt
Anatoly Shirokov
такое бывает, надо либо qmake перезапустить, чтобы мок отработал, либо ты С++ класс c Q_OBJECT  в cpp добавил
Проверил все свои классы, ни где в cpp не использовался макрос Q_OBJECT.
источник

ЕБ

Евгений Борец... in Qt
Или я не верно понял вас.
источник

AS

Anatoly Shirokov in Qt
Евгений Борец
Проверил все свои классы, ни где в cpp не использовался макрос Q_OBJECT.
тогда, попробуй удалить build директорию проекта, может ошибка наведена чем-то
источник

ЕБ

Евгений Борец... in Qt
Та уже раз 20 удалял, перзапускал qmake.
источник

RG

Renat Garaev in Qt
Евгений Борец
Та уже раз 20 удалял, перзапускал qmake.
windows / linux ? не используется ли ccache ?
источник

ЕБ

Евгений Борец... in Qt
У меня там 118 ошибок, это не одна.
источник

ЕБ

Евгений Борец... in Qt
Renat Garaev
windows / linux ? не используется ли ccache ?
Windows
источник

RG

Renat Garaev in Qt
т.е. переключаете на старую версию Qt и приложение собирается?
источник

AS

Anatoly Shirokov in Qt
а покажите .pro файл?
источник

AS

Anatoly Shirokov in Qt
все ли заголовочные файлы у вас перечислены в HEADERS?
источник

ЕБ

Евгений Борец... in Qt
Renat Garaev
т.е. переключаете на старую версию Qt и приложение собирается?
Только сегодня собирал, пока не переключался.
источник

IZ

Ilia Zviagin in Qt
Евгений Борец
Проверил все свои классы, ни где в cpp не использовался макрос Q_OBJECT.
возможно ещё ты не добавил твой заголовок с этим классом в список заголовочных файлов проекта
источник

IZ

Ilia Zviagin in Qt
Anatoly Shirokov
все ли заголовочные файлы у вас перечислены в HEADERS?
во, и я о том же.
источник