0
我正在使用Visual Studio加載項嘗試在Visual Studio中創建QT項目。當我創建使用Q_OBJECT
宏的新類時,出現編譯器錯誤。刪除宏使錯誤消失。這是一個示例頭文件。包括Q_OBJECT宏在使用VS加載項時導致編譯器錯誤
#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> GeneratedFiles \調試\ moc_Television.cpp(20):錯誤C2146:語法 錯誤:缺少 ';'之前標識符'qt_meta_data_Television'
爲什麼會發生這種情況,我該如何解決它?
這似乎發生的方式太多..謝謝 – zebra
這個答案幫了我很多。得到了類似的問題,但在我的一個mocfiles上出現了「錯誤C2334:'{';跳過明顯的函數體」之前的意外標記。錯過了一個「};」在文件的結尾處... – chikuba