我正在使用Visual Studio加载项尝试在Visual Studio中创建QT项目。当我创建一个使用Q_OBJECT
宏的新类时,我遇到了编译器错误。删除宏会使错误消失。这是一个示例头文件。
#ifndef TELEVISION_H
#define TELEVISION_H
#include <QObject>
#include <Qt\qwidget.h>
#include <Qt\qpainter.h>
class Television : public QWidget
{
//Q_OBJECT
public:
explicit Television(QWidget *parent = 0);
}
#endif
取消注释并重新评论Q_OBJECT
行会使编译器出错。错误全部在moc_television.cpp
(自动生成的cpp文件)中。这些错误似乎没有用,例如:
1&gt; GeneratedFiles \ Debug \ moc_Television.cpp(20):错误C2146:语法 错误:缺少';'在标识符'qt_meta_data_Television'之前
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
您在课程Television
定义结束时遗漏了分号。