【发布时间】:2013-01-13 16:21:47
【问题描述】:
我正在使用 QT 做 UI 应用程序。应用程序将在桌面上运行以从用户那里获取 bin 文件,并将通过串行端口对微控制器进行编程。我选择了“qextserialport”库进行串口通信。
我在课堂上包含了 qextserialport 标头,例如:
#ifndef __SERIALHELPER_H
#define __SERIALHELPER_H
#include <serialPortDriver/qextserialport.h>
#include "QThread"
class serialHelper : public QThread
{ etc.....
在 .pro 文件中,我为 qextSerial 添加了这一行
include(qextserialport.pri)
现在我收到多个定义错误:
./debug\moc_qextserialenumerator.o:在函数“ZN20QextSerialEnumerator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv”中:
D:\QTNTloader-build-minGW-Debug/debug/moc_qextserialenumerator.cpp:47: 'QextSerialEnumerator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)'的多重定义
./debug\qextserialenumerator.o:D:\QTNTloader-build-minGW-Debug/../QTNTloader2/serialPortDriver//moc_qextserialenumerator.cpp:47:这里首先定义
因为这是我第一个使用 QT 的 UI 程序,所以我找不到解决方案。您对错误的原因有任何想法吗?
当我下载 qextserial 时,我还想到了一件事,我将它作为项目打开,构建它并获取 .moc 文件并将它们手动添加到我的项目中。我这样做是因为我收到有关丢失 moc 文件的错误,我做了我不应该做的事情吗?
【问题讨论】: