首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QFileSystemWatcher未解析外部

QFileSystemWatcher未解析外部
EN

Stack Overflow用户
提问于 2017-06-06 12:32:42
回答 1查看 509关注 0票数 0

我在跟QFileSystemWatcher兜圈子,跟着this example。但是在编译时,我得到了一个未解决的外部符号错误。这是我的代码:

代码语言:javascript
复制
#include <QCoreApplication>
#include <QFileSystemWatcher>
#include <QObject>

#include <iostream>

class MyClass : public QObject
{
    Q_OBJECT

public:
    MyClass(QObject* parent = nullptr) : QObject(parent){}

public slots:
    void on_dir_change(const QString& path)
    {
        std::cout << "folder modified: (" << path.toStdString() << ")" << 
std::endl;
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFileSystemWatcher watcher;
    watcher.addPath("C:/test");

    MyClass* mc = new MyClass();

    QObject::connect(&watcher, SIGNAL(directoryChanged(QString)), mc, 
SLOT(on_dir_change(QString)));

    return a.exec();
}

它在编译时产生以下错误消息:

main.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl MyClass::metaObject(void)const " (?metaObject@MyClass@@UEBAPEBUQMetaObject@@XZ)

main.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl MyClass::qt_metacast(char const *)" (?qt_metacast@MyClass@@UEAAPEAXPEBD@Z)

main.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl MyClass::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@MyClass@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)

debug\FileSystemWatcherTest.exe : fatal error LNK1120: 3 unresolved externals

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-06 13:14:53

尝试将MyClass定义放在单独的.h文件中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44390106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档