该工程用到了qtpropertybrowser库,结果编译qtpropertybrowser.cpp时,报错找不到moc_qtpropertybrowser.cpp文件。该文件最末端有个#include "moc_qtpropertybrowser.cpp",搜了工程目录,缺使没生成该文件。
而且,这个工程之前是能编译通过的,我前天整理电脑,把QT卸载了,重装到其它盘符后,就出现这个问题了。
离线
虽然最后莫名其妙的通过编译了,但是没明白具体原因。
我以为是qt版本的问题,尝试了32位的qt5.15,5.14,5.12等多个版本,一样的问题。
后来卸载qt,清除c盘用户目录下的qtproject文件夹。重装qt,结果问题依旧。
然后是单独编译Libs.pro,单独编译qtpropertybrowser.pro,仍是报错,不过此时没注意报错是否还是之前的。
我就怀疑我这个机子上的qt不能生成moc文件,于是qt creator上下载例程,编译,通过,可以运行...
然后又编译了libs.pro及qtpropertybrowser.pro,仍报错,不过此时注意到报错不是缺少moc文件,而是个好像是缺少可执行啥的,没明白。
但是,再搜索工程目录,竟然有那几个moc文件了。
然后重新编译整个工程,竟然通过了。
离线
Qmake 下。 检查那个类文件 是否有Q_OBJECT宏, 如果还是没有。 先去掉Q_OBJECT宏, 编译后。再加上Q_OBJECT 宏再编译
离线
Qmake 下。 检查那个类文件 是否有Q_OBJECT宏, 如果还是没有。 先去掉Q_OBJECT宏, 编译后。再加上Q_OBJECT 宏再编译
感谢答复。
问题是不知道怎么操作的,然后就又能通过编译了。
检查了qtpropertybrowser.h,里边有多个类定义,部分类里加了Q_BOJECT宏。
对应的qtpropertybrowser.cpp的最后一行,有个#include "moc_qtpropertybrowser.cpp",就在这一行报的错误。
离线