使用VS加载项时,包括Q_OBJECT宏会导致编译器错误

时间:2012-01-24 01:39:04

标签: c++ visual-studio-2010 qt

我正在使用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'之前

为什么会发生这种情况,我该如何解决?

1 个答案:

答案 0 :(得分:1)

您在课程Television定义结束时遗漏了分号。