c++ “public: virtual struct QMetaObject const * 无法解析 已解决

阅读: 评论:0

c++ “public: virtual struct QMetaObject const * 无法解析 已解决

c++ “public: virtual struct QMetaObject const * 无法解析 已解决

error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl

我从QObject继承了一个类:

#ifndef MAINWINDOWPRIVATE_H
#define MAINWINDOWPRIVATE_H
#include "DockManager.h"
class MainWindowPrivate : public QObject
{Q_OBJECT
public:MainWindowPrivate();virtual ~MainWindowPrivate();
public:void initDockWidget(QWidget *widget);
private:ads::CDockManager *DockManager;
};
#endif // MAINWINDOWPRIVATE_H


编译,出错,提示:

mainwindowprivate.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl MainWindowPrivate::metaObject(void)const " (?metaObject@MainWindowPrivate@@UEBAPEBUQMetaObject@@XZ)

解决办法:

编译出错是因为没有生成moc_mainwindowprivate.cpp文件造成的。

如果新添加QObject派生类到您的项目,则必须再次运行qmake,即

1、清理项目(非必须)

2、运行qmake(必须)

3、构建项目(必须)

否则,如果在QObject继承的类上进行增量构建,那么您将拥有过时的moc文件,或者干脆没有moc文件。

正确解决办法,检查  文件是否 配置 头文件编译

本文发布于:2024-01-27 18:43:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063522031961.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:virtual   public   struct   const   QMetaObject
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23