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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] не линкуется проект в visual studio 2010  (Прочитано 4889 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« : Июль 27, 2012, 09:53 »

Здравствуйте. Никак не могу понять почему не линкуется проект в студии (проблема в одном классе), хотя при сборке в креаторе всё нормально. Помогите пожалуйста разобраться, тестовый проект прикрепил.

Судя по ошибкам складывается впечатление, будто бы отсутствует файл .cpp, хотя он присутствует в проекте…
Код:
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "private: void __thiscall KExpandableGroupBox::animateExpansion(double)" (?animateExpansion@KExpandableGroupBox@@AAEXN@Z) referenced in function "private: static void __cdecl KExpandableGroupBox::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@KExpandableGroupBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setTitle(class QString const &)" (?setTitle@KExpandableGroupBox@@QAEXABVQString@@@Z) referenced in function "private: static void __cdecl KExpandableGroupBox::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@KExpandableGroupBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setExpanded(bool)" (?setExpanded@KExpandableGroupBox@@QAEX_N@Z) referenced in function "private: static void __cdecl KExpandableGroupBox::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@KExpandableGroupBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setAnimateExpansion(bool)" (?setAnimateExpansion@KExpandableGroupBox@@QAEX_N@Z) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>itemsviewerdialog.obj : error LNK2001: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setAnimateExpansion(bool)" (?setAnimateExpansion@KExpandableGroupBox@@QAEX_N@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setAlignment(class QFlags<enum Qt::AlignmentFlag>)" (?setAlignment@KExpandableGroupBox@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: bool __thiscall KExpandableGroupBox::animateExpansion(void)const " (?animateExpansion@KExpandableGroupBox@@QBE_NXZ) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: class QFlags<enum Qt::AlignmentFlag> __thiscall KExpandableGroupBox::alignment(void)const " (?alignment@KExpandableGroupBox@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: class QString __thiscall KExpandableGroupBox::title(void)const " (?title@KExpandableGroupBox@@QBE?AVQString@@XZ) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>moc_kexpandablegroupbox.obj : error LNK2019: unresolved external symbol "public: bool __thiscall KExpandableGroupBox::isExpanded(void)const " (?isExpanded@KExpandableGroupBox@@QBE_NXZ) referenced in function "public: virtual int __thiscall KExpandableGroupBox::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@KExpandableGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>itemsviewerdialog.obj : error LNK2019: unresolved external symbol "public: void __thiscall KExpandableGroupBox::setWidget(class QWidget *)" (?setWidget@KExpandableGroupBox@@QAEXPAVQWidget@@@Z) referenced in function "public: __thiscall ItemsViewerDialog::ItemsViewerDialog(class QHash<int,bool> const &,class QWidget *)" (??0ItemsViewerDialog@@QAE@ABV?$QHash@H_N@@PAVQWidget@@@Z)
1>itemsviewerdialog.obj : error LNK2019: unresolved external symbol "public: __thiscall KExpandableGroupBox::KExpandableGroupBox(class QString const &,class QWidget *)" (??0KExpandableGroupBox@@QAE@ABVQString@@PAVQWidget@@@Z) referenced in function "public: __thiscall ItemsViewerDialog::ItemsViewerDialog(class QHash<int,bool> const &,class QWidget *)" (??0ItemsViewerDialog@@QAE@ABV?$QHash@H_N@@PAVQWidget@@@Z)
« Последнее редактирование: Июль 27, 2012, 17:50 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #1 : Июль 27, 2012, 14:23 »

А случаем там нет несоответствия в h и cpp файлах?

PS понимаю, простейшая причина, но мб мб?

Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Июль 27, 2012, 15:17 »

так при сборке через креатор же всё нормально. если бы проблема была на уровне кода, то не собиралось бы нигде.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Июль 27, 2012, 17:50 »

разобрался. оказалось, что по какой-то необъяснимой причине студия решила засунуть kexpandablegroupbox.cpp в раздел CustomBuild вместо ClCompile (при чём как в моём проекте, так и в этом тестовом), так что ручная правка сразу всё исправила. может это из-за того, что в этом файле концы строк LF, а не CRLF?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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