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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: VC2005, не линкуется Release  (Прочитано 5320 раз)
antipart
Гость
« : Ноябрь 16, 2006, 14:36 »

Помогите плз! У меня Qt4.2.0 и VC2005.
Не линкуется проект в конфигурации-Release.
В Debug - все отлично...
Пробовал в VC6.0 - тоже все хорошо(релиз собирается)
 А в VC2005 выдает следующее:
Код:
Linking...
mainform.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const BaseForm::staticMetaObject" (?staticMetaObject@BaseForm@@2UQMetaObject@@B) referenced in function "public: static class QString __cdecl BaseForm::tr(char const *,char const *)" (?tr@BaseForm@@SA?AVQString@@PBD0@Z)
mainform.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall BaseForm::metaObject(void)const " (?metaObject@BaseForm@@UBEPBUQMetaObject@@XZ)
mainform.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall BaseForm::qt_metacast(char const *)" (?qt_metacast@BaseForm@@UAEPAXPBD@Z)
mainform.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall BaseForm::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@BaseForm@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
.\release/METOD.exe : fatal error LNK1120: 4 unresolved externals
Записан
Tonal
Гость
« Ответ #1 : Ноябрь 16, 2006, 14:37 »

К проекту не подключены moc_*.cpp
Записан
antipart
Гость
« Ответ #2 : Ноябрь 16, 2006, 15:11 »

Можно ли поподробнее...
Как сие реализовать
Записан
Dendy
Гость
« Ответ #3 : Ноябрь 16, 2006, 17:49 »

Найти файл moc_BaseForm.cpp (или как у вас там назьІвается) и добавить в проект. Если такого файла нет - сначала сгенерировать его с помощью утилитьІ moc.exe, что находится в: $QTDIR/bin/

Код:
moc BaseForm.h -o moc_BaseForm.cpp


ЧтобьІ не перегенерировать руками moc_* файл каждьІй раз при изменении *.h файла - нужно прописать в VisualStudio CustomBuild, чтобьІ ето происходило автоматически.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Ноябрь 16, 2006, 20:20 »

Кстати, не знаю почему, я заметил, что VS2005 иногда создает битые экзешки. Я пытался собрать Qwt под VS2005, в итоге все примеры матюкались и падали при запуске... Собрал с командной строки - все ОК. Кто-то сталкивался с подобным?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Dendy
Гость
« Ответ #5 : Ноябрь 16, 2006, 20:44 »

С инкрементальной линковкой не всё в порядке в Датском королевстве. У меня довольно часто сборка из студии валится из-за старьІх обьектников или исполняемого файла. Rebuild All решает все проблемьІ.

На сколько я понимаю, Makefile, созданньІй qmake'ом чесно пересобирает зависимости и линкует неинкрементально. Поетому проблем с ним меньше.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Ноябрь 16, 2006, 20:50 »

в том то и дело, что Rebuild All делал. не помогало...
гон какой-то. причем непонятно - одни проекты работают нормально, другие - нет... хотя проектники практически такие же, различаются тока именами бинарников и исходников. все параметры 1 к 1, а ему не нравится...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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