main.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall CustomButton::metaObject(void)const " (?metaObject@CustomButton@@UBEPBUQMetaObject@@XZ)

时间:2023-03-08 15:53:22

QTCreator 运行时报错

main.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall CustomButton::metaObject(void)const " (?metaObject@CustomButton@@UBEPBUQMetaObject@@XZ)

原因:

用到 Q_OBJECT  的类和main都放在main.cpp中;

解决方案

将类单独用类.h 类.cpp 文件中;然后在main.cpp 中包含 类.h

原因2:

如果是之前有错误有修改了,则需要将对应的build目录 例如  build-QStringListModelEx-Desktop_Qt_5_5_1_MSVC2013_32bit-Debug  删除; 再重新build