error: [Makefile:1689: moc_ * .cpp] Error 1 解決方法

簡介: Qt編譯項目時候出現 的錯誤error信息

error: [Makefile:1689: moc_ * .cpp] Error 1

本博文的簡述or解決問題?

詳情: 見簡介


編程環境: win10 x64 專業版 1803

編程軟件: visual studio 2015Qt 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這個網站;


開心分享:

因爲有着許許多多的熱心網友的無私分享,從他們的博客中學習成長,學會很多,故也不辭辛苦也將自己的項目或經驗整理成博客的形式,也提供給一起大家學習探討與交流

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章