私はQFileSystemWatcher
で回り、this exampleに続いています。しかしコンパイルすると、未解決の外部シンボルエラーが発生します。ここ は私のコードです:QFileSystemWatcher未解決外部
#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 " ([email protected]@@[email protected]@XZ)
main.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl MyClass::qt_metacast(char const *)" ([email protected]@@[email protected])
main.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl MyClass::qt_metacall(enum QMetaObject::Call,int,void * *)" ([email protected]@@[email protected]@@[email protected])
debug\FileSystemWatcherTest.exe : fatal error LNK1120: 3 unresolved externals
私は間違って何をしていますか?
エラーメッセージを表示できますか?どの機能を解決できないのですか? –
あなたは 'MyClass :: MyClass(クラスQObject *)'を実装していません。 –
私はコンストラクタを実装しましたが(edit参照)、それでもエラーが発生します。私は間違って実装しましたか? – DenverCoder21