簡介: Qt編譯項目時候出現 的錯誤error信息
error: [Makefile:1689: moc_ * .cpp] Error 1
本博文的簡述or解決問題?
詳情: 見簡介
編程環境: win10 x64 專業版 1803
編程軟件: visual studio 2015
, Qt Creator 4.8.2 (Enterprise)
, Qt 5.9.8
、
同步博文:
產生原因:
創建一個新的類,需要使用信號於槽機制,添加Q_OBJECT
宏:
DMessageManager.h
#include "dmessagemanager.h"
DMessageManager::DMessageManager()
{
}
DMessageManager.cpp
#ifndef DMESSAGEMANAGER_H
#define DMESSAGEMANAGER_H
#include <QObject>
class DMessageManager
{
Q_OBJECT
public:
DMessageManager();
};
#endif // DMESSAGEMANAGER_H
解決方法:
這可能是因爲其他人提到的其他事情很少。我想補充另一個在這裏丟失的。
如果您創建一個類並向其添加Q_OBJECT但不從QObject繼承,您將獲得“moc error 1"”。
如果你看一下編譯輸出,就會有一行說:
Error: Class contains Q_OBJECT macro but does not inherit from QObject
錯誤:類包含Q_OBJECT宏但不從QObject繼承
因此,解決此問題的一般方法是查看“編譯輸出”窗口。
總結:
除了查看問題警告,還可查看編譯輸出,查看第一個標紅的地方(或許會有驚喜);
中文難以查詢到滿意的答案, 試試stack overflow這個網站;
開心分享:
因爲有着許許多多的熱心網友的無私分享,從他們的博客中學習成長,學會很多,故也不辭辛苦也將自己的項目或經驗整理成博客的形式,也提供給一起大家學習探討與交流