Проблемы слотов с QT, ошибка компоновщика - PullRequest
0 голосов
/ 04 ноября 2011

Хотел спросить об ошибке компоновщика, которую я продолжаю получать.Я установил QT и использую его в Visual Studio 2005. В основном всякий раз, когда я пытаюсь объявить слот, я получаю это сообщение об ошибке компоновщика.

Ошибка 1 ошибка LNK2019: неразрешенный внешний символ "public: int __thiscall ipodGuiLoaderQT :: hello(void) "(? hello @ ipodGuiLoaderQT @@ QAEHXZ) ссылка на функцию" public: virtual int@@ HPAPAX @ Z) moc_ipodguiloaderqt.obj

Обычно это говорит о том, что я не включил правильный заголовочный файл.Но я должен был.Вот мой код.

#ifndef IPODGUILOADERQT_H
#define IPODGUILOADERQT_H

#include <QtGui/QMainWindow>
#include <QtGui/QAction>
#include <QObject>
#include "ui_ipodguiloaderqt.h"


class ipodGuiLoaderQT : public QMainWindow
{
    Q_OBJECT

public:
    ipodGuiLoaderQT(QWidget *parent = 0, Qt::WFlags flags = 0);
    ~ipodGuiLoaderQT();

private:
    Ui::ipodGuiLoaderQTClass ui;

    QAction* blah;

    public slots:
        int hello();


};

#endif // IPODGUILOADERQT_H

Любая помощь будет оценена.

1 Ответ

1 голос
/ 04 ноября 2011

Ошибка 1, ошибка LNK2019: неразрешенный внешний символ "public: int __thiscall ipodGuiLoaderQT :: hello (void)"

Компоновщик ясно говорит вам, что не может найти определение ipodGuiLoaderQT::hello(void). То, что вы имеете как часть класса ipodGuiLoaderQT, является просто объявлением и проверьте, предоставили ли вы его реализацию (т.е. определение) в соответствующем исходном файле и также скомпилировали его.

...