Russian Qt Forum

Qt => Общие вопросы => Тема начата: Gate007 от Декабрь 01, 2011, 14:47



Название: 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" соединяется с этим слотом