2011-11-04 50 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的一部分,你只是聲明並檢查你是否已經在相應的源文件中提供了它的實現(即定義)並編譯它。