QT的插槽问题,链接器错误

时间:2011-11-04 14:39:28

标签: c++ qt slots

想要询问我一直得到的链接器错误。我安装了QT并在Visual Studio 2005上使用它。基本上每当我尝试声明一个插槽时,我都会收到此链接器错误消息。

错误1错误LNK2019:函数“public:virtual int __thiscall ipodGuiLoaderQT :: qt_metacall”(枚举QMetaObject: :Call,int,void * *)“(?qt_metacall @ ipodGuiLoaderQT @@ UAEHW4Call @ QMetaObject @@ 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 个答案:

答案 0 :(得分:1)

  

错误1错误LNK2019:未解析的外部符号“public:int __thiscall ipodGuiLoaderQT :: hello(void)”

链接器清楚地告诉你它无法找到ipodGuiLoaderQT::hello(void)的定义。作为类ipodGuiLoaderQT的一部分,您只需要声明并检查是否已在相应的源文件中提供了它的实现(即定义)并进行了编译。