-1

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

错误 1 ​​错误 LNK2019:未解析的外部符号“public: int __thiscall ipodGuiLoaderQT::hello(void)” (?hello@ipodGuiLoaderQT@@QAEHXZ) 在函数“public: virtual int __thiscall ipodGuiLoaderQT::qt_metacall(enum 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

任何帮助,将不胜感激。

4

1 回答 1

1

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

链接器清楚地告诉你它找不到哪个是ipodGuiLoaderQT::hello(void). 作为类的一部分,您所拥有的ipodGuiLoaderQT只是声明,并检查您是否在相应的源文件中提供了它的实现(即定义)并对其进行了编译。

于 2011-11-04T14:42:34.907 回答