Название: collect2: ld returned 1 exit status
Отправлено: Gate007 от Декабрь 01, 2011, 14:47
Взял следующий код из примера (http://www.developer.nokia.com/Community/Wiki/Using_QXmlStreamReader_to_parse_XML_in_Qt): class QXSRExample : public QMainWindow { Q_OBJECT public: QXSRExample(QWidget *parent = 0); ~QXSRExample(); private slots: void parseXML(); private: void setupUI(); QMap<QString, QString> parsePerson(QXmlStreamReader& xml); void addElementDataToMap(QXmlStreamReader& xml, QMap<QString, QString>& map) const; void addPersonsToUI(QList< QMap<QString,QString> >& persons); };
Добавил это в свой mainwindow.h - получаю в консоли: debug/moc_mainwindow.o:E:\Qt\qtcreator-2.2.0\project1-build-desktop/debug/moc_mainwindow.cpp:145: undefined reference to `QXSRExample::parseXML()' debug/moc_mainwindow.o:moc_mainwindow.cpp:(.rdata$_ZTV11QXSRExample[vtable for QXSRExample]+0x14): undefined reference to `QXSRExample::~QXSRExample()' debug/moc_mainwindow.o:moc_mainwindow.cpp:(.rdata$_ZTV11QXSRExample[vtable for QXSRExample]+0x18): undefined reference to `QXSRExample::~QXSRExample()' debug/moc_mainwindow.o:moc_mainwindow.cpp:(.rdata$_ZTV11QXSRExample[vtable for QXSRExample]+0xf4): undefined reference to `non-virtual thunk to QXSRExample::~QXSRExample()' debug/moc_mainwindow.o:moc_mainwindow.cpp:(.rdata$_ZTV11QXSRExample[vtable for QXSRExample]+0xf8): undefined reference to `non-virtual thunk to QXSRExample::~QXSRExample()' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\project1.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс «E:\Qt\qtcreator-2.2.0\mingw\bin\mingw32-make.exe» завершился с кодом 2. Возникла ошибка при сборке проекта project1 (цель: Настольный компьютер) Во время выполнения сборки на этапе «Сборка» В чем может быть проблема?
Название: Re: collect2: ld returned 1 exit status
Отправлено: Пантер от Декабрь 01, 2011, 14:49
Не сделал реализацию ~QXSRExample.
Название: Re: collect2: ld returned 1 exit status
Отправлено: Gate007 от Декабрь 01, 2011, 15:10
Не сделал реализацию ~QXSRExample.
Благодарю. Заодно еще вопрос-в чем смысл использования private slots: void parseXML(); Зачем здесь используется слот? Насколько я понимаю, это простая функция-член класса? P.S: полный код примера по ссылке выше.
Название: Re: collect2: ld returned 1 exit status
Отправлено: kambala от Декабрь 01, 2011, 15:16
сигнал кнопки "parse XML from example.xml" соединяется с этим слотом
|