admin管理员组

文章数量:1663034

在Mac编写日志服务类,

Logging_d.h内容如下

#pragma once
#include <QLoggingCategory>
Q_DECLARE_LOGGING_CATEGORY(hovering)
Q_DECLARE_LOGGING_CATEGORY(creation)
Q_DECLARE_LOGGING_CATEGORY(mouseevents)
Q_DECLARE_LOGGING_CATEGORY(state)
Q_DECLARE_LOGGING_CATEGORY(docking)
Q_DECLARE_LOGGING_CATEGORY(globalevents)
Q_DECLARE_LOGGING_CATEGORY(hiding)
Q_DECLARE_LOGGING_CATEGORY(closing)
Q_DECLARE_LOGGING_CATEGORY(overlay)
Q_DECLARE_LOGGING_CATEGORY(dropping)
Q_DECLARE_LOGGING_CATEGORY(restoring)
Q_DECLARE_LOGGING_CATEGORY(title)
Q_DECLARE_LOGGING_CATEGORY(closebutton)
Q_DECLARE_LOGGING_CATEGORY(sizing)
Q_DECLARE_LOGGING_CATEGORY(multisplittercreation)
Q_DECLARE_LOGGING_CATEGORY(addwidget)
Q_DECLARE_LOGGING_CATEGORY(anchors)
Q_DECLARE_LOGGING_CATEGORY(item)
Q_DECLARE_LOGGING_CATEGORY(placeholder)
Q_DECLARE_LOGGING_CATEGORY(toplevels)

Logging.cpp内容如下

#include "Logging_p.h"

Q_LOGGING_CATEGORY(toplevels, "logging.toplevels", QtWarningMsg)
Q_LOGGING_CATEGORY(creation, "logging.creation", QtWarningMsg)
Q_LOGGING_CATEGORY(hovering, "logging.hovering", QtWarningMsg)
Q_LOGGING_CATEGORY(mouseevents, "logging.mouseevents", QtWarningMsg)
Q_LOGGING_CATEGORY(state, "logging.state", QtWarningMsg)
Q_LOGGING_CATEGORY(docking, "logging.docking", QtWarningMsg)
Q_LOGGING_CATEGORY(hiding, "logging.hiding", QtWarningMsg)
Q_LOGGING_CATEGORY(closing, "logging.closing", QtWarningMsg)
Q_LOGGING_CATEGORY(dropping, "logging.dropping", QtWarningMsg)
Q_LOGGING_CATEGORY(sizing, "logging.multisplitter.sizing", QtWarningMsg)
Q_LOGGING_CATEGORY(addwidget, "logging.multisplitter.addwidget", QtWarningMsg)
Q_LOGGING_CATEGORY(placeholder, "logging.multisplitter.placeholder", QtWarningMsg)

构建项目时出现下面错误:

Undefined symbols for architecture x86_64:

"mouseevents()", referenced from:

DragController::eventFilter(QObject*, QEvent*) in DragController.o

"placeholder()", referenced from:

Frame::restoreToPreviousPosition() in Frame.o

"state()", referenced from:

StateNone::onEntry() in DragController.o

StateNone::handleMouseButtonPress(Draggable*, QPoint, QPoint) in DragController.o

StatePreDrag::onEntry() in DragController.o

StateDragging::onEntry() in DragController.o

StateDragging::handleMouseButtonRelease(QPoint) in DragController.o

StateDragging::handleMouseMove(QPoint) in DragController.o

DragController::dropAreaUnderCursor() const in DragController.o

...

"hiding()", referenced from:

Frame::onDockWidgetShown(DockWidgetBase*) in Frame.o

Frame::onDockWidgetHidden(DockWidgetBase*) in Frame.o

"sizing()", referenced from:

LayoutWidget::updateSizeConstraints() in LayoutWidget.o

"closing()", referenced from:

Frame::onCloseEvent(QCloseEvent*) in Frame.o

"docking()", referenced from:

DropArea::drop(QWidgetAdapter*, Location, Frame*) in DropArea.o

Frame::onDockWidgetCountChanged() in Frame.o

"creation()", referenced from:

DragController::DragController(QObject*) in DragController.o

DropArea::DropArea(QWidgetAdapter*, bool) in DropArea.o

DropArea::~DropArea() in DropArea.o

Frame::scheduleDeleteLater() in Frame.o

"dropping()", referenced from:

DropArea::drop(WindowBeingDragged*, QPoint) in DropArea.o

"hovering()", referenced from:

DropArea::drop(WindowBeingDragged*, QPoint) in DropArea.o

DropArea::drop(WindowBeingDragged*, Frame*, DropLocation) in DropArea.o

TitleBar::makeWindow() in TitleBar.o

WindowBeingDragged::grabMouse(bool) in WindowBeingDragged.o

"addwidget()", referenced from:

MainWindowBase::addDockWidgetAsTab(DockWidgetBase*) in MainWindowBase.o

MultiSplitter::addMultiSplitter(MultiSplitter*, Location, Frame*, InitialOption) in MultiSplitter.o

TabWidget::insertDockWidget(DockWidgetBase*, int) in TabWidget.o

"toplevels()", referenced from:

DragController::qtTopLevelUnderCursor() const in DragController.o

QQuickItem* qtTopLevelUnderCursor_impl<FloatingWindow*>(QPoint, QVector<QWindow*> const&, FloatingWindow*) in DragController.o

QQuickItem* qtTopLevelUnderCursor_impl<QQuickItem*>(QPoint, QVector<QWindow*> const&, QQuickItem*) in DragController.o

解决方式:

     修改源文件名,改成与头文件一致,不能用Logging。

本文标签: 程序QTMacundefinedArchitecture