我正在尝试在Mac OSX上构建一个项目,它给了我一个神秘的错误:
[moc_droparea.cpp]错误1
droparea.cpp(显然)是项目中的一个文件.我检查它是否存在于项目目录中并且没有损坏.moc_droparea.cpp在此错误之后,文件没有显示在构建文件夹中,因此我假设它无法以任何原因构建,但错误太模糊,无法帮助我弄清楚发生了什么.任何人都可以帮我弄清楚这意味着什么吗?
小智 8
单击"编译输出",向上滚动并单击红线.
在我的情况下,红线说:你不能在私人插槽中定义一个整数值..
在qt creator窗口下的"progress details"部分,有一个名为"compile output"的按钮(按钮编号4).用红色字体解释错误.单击它并向上滚动.
解决方案非常简单.我有一个文件夹结构,在文件路径中放置空格(非法字符).我把下划线而不是空格,它建立得很好.我认为moc预处理器可以处理文件名中的空格,但显然不是.我觉得很愚蠢,但至少问题现在已经解决了.
希望这个解决方案可以帮助其他人.
这可能是因为其他人提到的其他几件事。我想添加另一个这里缺少的。
如果您创建一个类并向其中添加 Q_OBJECT 但不从 QObject 继承,您将收到“moc 错误 1”。
如果你看一下编译输出,有一行说:
错误:类包含 Q_OBJECT 宏但不从 QObject 继承
因此,解决此问题的一般方法就是查看“编译输出”窗口。