gpt4 book ai didi

c++ - Qt 4.7 找不到符号错误

转载 作者:行者123 更新时间:2023-11-27 23:23:53 25 4
gpt4 key购买 nike

任何人都可以向我解释这个错误吗?好像是 moc 发生的错误:

Undefined symbols:
make: Leaving directory `/Users/Dylan/Documents/programming/qt/Clock-build-desktop'
"ClockDelegate::ClockDelegate(QObject*)", referenced from:
AnalogClockDelegate::AnalogClockDelegate(QObject*)in AnalogClockDelegate.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [Clock.app/Contents/MacOS/Clock] Error 1
The process "/usr/bin/make" exited with code 2.
Error while building project Clock (target: Desktop)
When executing build step 'Make'

时钟委托(delegate):

#ifndef CLOCKDELEGATE_H
#define CLOCKDELEGATE_H

#include <QObject>

class QTime;
class QWidget;

class ClockDelegate : public QObject
{
Q_OBJECT

public:

explicit ClockDelegate(QObject *parent);

virtual void paintClock(QWidget *, QTime *) = 0;
};

#endif // CLOCKDELEGATE_H

模拟时钟委托(delegate):

#ifndef ANALOGCLOCKDELEGATE_H
#define ANALOGCLOCKDELEGATE_H

#include <QColor>
#include <QPoint>

#include "ClockDelegate.h"

class QWidget;

class AnalogClockDelegate : public ClockDelegate
{
Q_OBJECT

public:

explicit AnalogClockDelegate(QObject *parent);

void paintClock(QWidget *, QTime *);

private:

void setupClockHands();

void drawClockSurface(QWidget *clockView, QTime *);

void drawHourComponent(QWidget *clockView);

void drawMinuteComponent(QWidget *clockView, QTime *);

void drawSecondComponent(QWidget *clockView, QTime *);

QPoint m_center;
QPoint m_hourHand[3];
QPoint m_minuteHand[3];
QPoint m_secondHand[2];

QColor m_hourColor;
QColor m_minuteColor;
QColor m_secondColor;
QColor m_clockFaceColor;
};

#endif // ANALOGCLOCKDELEGATE_H

最佳答案

我认为您缺少“public”关键字,假设 ClockDelegate 是一个 QObject。否则你不是从 QObject 派生的,所以你不能使用 Q_OBJECT。

class AnalogClockDelegate : public ClockDelegate

关于c++ - Qt 4.7 找不到符号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com