2011-11-04 49 views
-1

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

错误1个错误LNK2019:无法解析的外部符号 “市民:INT __thiscall ipodGuiLoaderQT ::你好(无效)” 函数引用“公众(你好@ ipodGuiLoaderQT @@ QAEHXZ?):虚拟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 

任何帮助,将不胜感激。

+0

这是一个链接器错误,所以它不是头问题。你是否在某个地方实施了这个插槽? (请确保你也尝试一个干净的构建。) – Mat

+0

耶至高无上!对不起浪费时间!忘了在cpp中实现它。 – Bushes

回答

1

错误1个错误LNK2019:无法解析的外部符号“市民:INT __thiscall ipodGuiLoaderQT ::你好(空)”

链接器显然是说你,它找不到它的定义ipodGuiLoaderQT::hello(void)。作为类ipodGuiLoaderQT的一部分,你只是声明并检查你是否已经在相应的源文件中提供了它的实现(即定义)并编译它。