1

我正在將一個巨大的項目從Qt4.x遷移到Qt5。現在我有這個問題,我解決不了:QString :: fromUtf8和未定義參考的多重定義

C:\Qt5\5.2.1\mingw48_32\lib/libQt5Core.a(d003170.o):(.text+0x0): multiple definition of `QString::fromUtf8(char const*, int)' 
./release\aisinfowidget.o:aisinfowidget.cpp:(.text$_ZN7QString8fromUtf8EPKci[__ZN7QString8fromUtf8EPKci]+0x0): first defined here 
./release\gpssettingswidget.o:gpssettingswidget.cpp:(.text+0x4dcc): undefined reference to `QtAddOn::SerialPort::SerialPortInfo::availablePorts()' 
./release\gpssettingswidget.o:gpssettingswidget.cpp:(.text+0x4e3e): undefined reference to `QtAddOn::SerialPort::SerialPortInfo::portName() const' 
./release\gpssettingswidget.o:gpssettingswidget.cpp:(.text+0x4e5d): undefined reference to `QtAddOn::SerialPort::SerialPortInfo::description() const' 
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: ./release\gpssettingswidget.o: bad reloc address 0xd in section `.text$_ZN25Ui_GPSSettingsWidgetClass13retranslateUiEP14SettingsWidget[__ZN25Ui_GPSSettingsWidgetClass13retranslateUiEP14SettingsWidget]' 
collect2.exe: error: ld returned 1 exit status 

我知道,一定是有包括被複制,但該項目是如此巨大,我不知道如何找到它,和它的奇怪的是QString,因爲它默認添加了我認爲,你不必做任何形式的包含或任何東西。我在網上搜索了同樣的問題,但顯然沒有任何關於它的信息。 下面是包括:

aisinfowidget.cpp:

#include "aisinfowidget.h" 
#include "appcommon.h" 
#include "shipdata.h" 
#include "messagebox.h" 
#include "touchswibz.h" 
#include "customwidgets.h" 
#include "riskwidget.h" 
#include "aisradarmodule.h" 
#include "mapmodulelist.h" 
#include "eventswidget.h" 

#include <HDP.h> 

#include <QTextTable> 
#include <QDesktopServices> 
#include <QUuid> 
#include <QUrlQuery> 

gpssettingswidget.cpp(從這裏來的未定義的引用)

#include "gpssettingswidget.h" 
#include "gpsmodule.h" 

#include <QtSerialPort/QSerialPort> 
#include <QtSerialPort/QSerialPortInfo> 
#include "QtSerialPort/qserialportglobal.h" 
#include "QtSerialPort/qserialportinfo.h" 
//#include <qextserialenumerator.h> 

#include <QLineEdit> 
#include <QtDebug> 

這裏是我的的.pro file:

TEMPLATE = app 
TARGET = Swibz 
include(Swibz.pri) 
DESTDIR = ../Release 
QT += widgets network xml webkit webkitwidgets opengl serialport #core gui are by default 
CONFIG += release 
DEFINES += _WINDOWS QT_LARGEFILE_SUPPORT QT_XML_LIB QT_OPENGL_LIB QT_NETWORK_LIB QT_DLL QWT_DLL JSON_LIB_LIB 
INCLUDEPATH += ../../../SprintLib \ 
    ./GeneratedFiles \ 
    ./GeneratedFiles/Release \ 
    . \ 
    ../qwt/src \ 
    ../qenc \ 
    ../zlib-1.2.5 \ 
    ../qextserialport-1.2win-alpha \ 
    ../qxmpp/qxmpp-master/base \ 
    ../qxmpp/qxmpp-master/client \ 
    ../qxmpp/qxmpp-master/server \ 
    .\qxmpp-0.3.1\src \ 
    ../json/JSON \ 
    ../QtSerialPort/qtserialport/include 
LIBS += -L"../../../SprintLib/release" \ 
    -lopengl32 \ 
    -lglu32 \ 
    -lgdi32 \ 
    -luser32 \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/zlib1.dll" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libqwt.a" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libHDP.a" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libqextserialportd.a" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libjson_lib.a" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libQtSerialPortd.a" \ ##conflict 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/QENC.dll" \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libQxtNetwork.a" \ 
    -lsetupapi \ 
    -l:"C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a" \ 

TRANSLATIONS = ln_en.ts 
TRANSLATIONS = ln_lv.ts 
TRANSLATIONS = ln_lt.ts 
TRANSLATIONS = ln_es.ts 

CODECFORTR  = UTF-8 

正如你所看到的,我已經添加了串口到QT變量,並且我已經鏈接了庫,所以我不知道爲什麼未定義的引用。也許解決QString的多重定義將解決這些問題。 我希望有人能指出我正確的方向。

非常感謝。

P.S:代碼不是我的,這使得更難找到問題。

編輯

我試圖評論的鏈接爲圖書館和所有的包括gpssettingswidget.cpp並獲得相同的未定義引用錯誤,所以我必須失去了一些東西,但什麼?它仍然可能是多重定義錯誤。在我解決這個問題之前,我不能確定其他問題。

EDIT 2

顯然,根據QT5 this只需要文件和QT + =的SerialPort在.pro文件中添加

#include <QtSerialPort/QtSerialPort> 

,但即使這樣做,我得到相同的錯誤。我確信編譯器無法找到這些庫,但我不知道該做什麼。我也不知道我是否應該使用Qt4或Qt5編譯的庫。
我嘗試了兩次,並得到相同的錯誤反覆。

編輯3好!

我設法解決這個錯誤,在一千種不同的方式編譯QtSerialPort後,我得到了一個文件,它確實解決了未定義的引用,雖然現在我得到所有這些錯誤,所以我不知道,如果它的一步前進或後退**

C:\Qt5\5.2.1\mingw48_32\lib/libQt5Core.a(d003170.o):(.text+0x0): multiple definition of `QString::fromUtf8(char const*, int)' 
./release\aisinfowidget.o:aisinfowidget.cpp:(.text$_ZN7QString8fromUtf8EPKci[__ZN7QString8fromUtf8EPKci]+0x0): first defined here 
./release\main.o:main.cpp:(.text+0x77a4): undefined reference to `QWindowsStyle::QWindowsStyle()' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppMucManager.o):moc_QXmppMucManager.cpp:(.rdata$_ZTV15QXmppMucManager[__ZTV15QXmppMucManager]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppMucManager.o):moc_QXmppMucManager.cpp:(.rdata$_ZTV15QXmppMucManager[__ZTV15QXmppMucManager]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
Makefile.Release:922: recipe for target '..\Release\Swibz.exe' failed 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppMucManager.o): In function `ZN4QMapI7QStringS0_E8freeDataEP8QMapData': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:655: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppMucManager.o): In function `ZN4QMapI7QStringS_IS0_13QXmppPresenceEE8freeDataEP8QMapData': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:655: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppMucManager.o): In function `ZN4QMapI7QString13QXmppPresenceE8freeDataEP8QMapData': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:655: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN18QXmppRosterManager12handleStanzaERK11QDomElement': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppRosterManager.cpp:80: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN18QXmppRosterManager16rosterIqReceivedERK13QXmppRosterIq': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppRosterManager.cpp:150: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN7QStringC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:879: undefined reference to `_imp___ZN7QString11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `Z23qStringComparisonHelperRK7QStringPKc': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:919: undefined reference to `_imp___ZN7QString16codecForCStringsE' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:919: undefined reference to `_imp___ZN7QString9fromAsciiEPKci' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:919: undefined reference to `_imp___ZNK7QStringeqERKS_' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:921: undefined reference to `_imp___ZNK7QStringeqERK13QLatin1String' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringN13QXmppRosterIq4ItemEEC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:182: undefined reference to `_imp___ZN8QMapData11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringS_IS0_13QXmppPresenceEEC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:182: undefined reference to `_imp___ZN8QMapData11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QString13QXmppPresenceE6removeERKS0_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:685: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QString13QXmppPresenceEC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:182: undefined reference to `_imp___ZN8QMapData11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringN13QXmppRosterIq4ItemEE8freeDataEP8QMapData': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:655: undefined reference to `_imp___ZN8QMapData16continueFreeDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringS_IS0_13QXmppPresenceEE11node_createEP8QMapDataPPNS4_4NodeERKS0_RKS2_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:453: undefined reference to `_imp___ZN8QMapData11node_createEPPNS_4NodeEii' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:464: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QString13QXmppPresenceE11node_createEP8QMapDataPPNS3_4NodeERKS0_RKS1_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:453: undefined reference to `_imp___ZN8QMapData11node_createEPPNS_4NodeEii' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:464: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `Z15qMapLessThanKeyI7QStringEbRKT_S3_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:107: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringN13QXmppRosterIq4ItemEE11node_createEP8QMapDataPPNS4_4NodeERKS0_RKS2_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:453: undefined reference to `_imp___ZN8QMapData11node_createEPPNS_4NodeEii' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:464: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringN13QXmppRosterIq4ItemEE13detach_helperEv': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:755: undefined reference to `_imp___ZN8QMapData10createDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QStringS_IS0_13QXmppPresenceEE13detach_helperEv': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:755: undefined reference to `_imp___ZN8QMapData10createDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterManager.o): In function `ZN4QMapI7QString13QXmppPresenceE13detach_helperEv': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:755: undefined reference to `_imp___ZN8QMapData10createDataEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZN13QXmppPresence5parseERK11QDomElement': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:116: undefined reference to `_imp___ZNK7QString7toAsciiEv' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:132: undefined reference to `_imp___ZNK7QString7toAsciiEv' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZNK13QXmppPresence10getTypeStrEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:239: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZN13QXmppPresence14setTypeFromStrERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:300: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZN13QXmppPresence6Status14setTypeFromStrERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:368: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZNK13QXmppPresence6Status10getTypeStrEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppPresence.cpp:399: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppPresence.o): In function `ZN10QByteArrayC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qbytearray.h:400: undefined reference to `_imp___ZN10QByteArray11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppClient.o): In function `ZN11QXmppClient12addExtensionEP20QXmppClientExtension': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppClient.cpp:213: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppClient.o): In function `ZN11QXmppClient15removeExtensionEP20QXmppClientExtension': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppClient.cpp:236: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppMucManager.o): In function `ZN15QXmppMucManager11sendMessageERK7QStringS2_': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppMucManager.cpp:251: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppMucManager.o): In function `ZN4QMapI7QStringS0_E4takeERKS0_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:710: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppMucManager.o): In function `ZN4QMapI7QStringS0_E11node_createEP8QMapDataPPNS2_4NodeERKS0_S8_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:453: undefined reference to `_imp___ZN8QMapData11node_createEPPNS_4NodeEii' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:464: undefined reference to `_imp___ZN8QMapData11node_deleteEPPNS_4NodeEiS1_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppMessage.o): In function `ZNK12QXmppMessage10getTypeStrEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppMessage.cpp:104: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppMessage.o): In function `ZN12QXmppMessage14setTypeFromStrERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppMessage.cpp:154: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppElement.o): In function `ZNK12QXmppElement17firstChildElementERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppElement.cpp:158: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppElement.o): In function `ZNK12QXmppElement18nextSiblingElementERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppElement.cpp:169: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppElement.o): In function `ZNK7QStringneERKS_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:406: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppElement.o): In function `ZN4QMapI7QStringS0_EC1Ev': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qmap.h:182: undefined reference to `_imp___ZN8QMapData11shared_nullE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppDiscoveryIq.o): In function `identityLessThan': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppDiscoveryIq.cpp:33: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppDiscoveryIq.cpp:38: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppDiscoveryIq.cpp:43: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppDiscoveryIq.cpp:48: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppDiscoveryIq.o): In function `ZNK7QStringgtERKS_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:405: undefined reference to `_imp___ZNK7QStringltERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppDiscoveryIq.o):c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qalgorithms.h:161: more undefined references to `_imp___ZNK7QStringltERKS_' follow 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppIq.o): In function `ZNK7QXmppIq10getTypeStrEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppIq.cpp:112: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppIq.o): In function `ZN7QXmppIq14setTypeFromStrERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppIq.cpp:143: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppClient.o):moc_QXmppClient.cpp:(.rdata$_ZTV11QXmppClient[__ZTV11QXmppClient]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppClient.o):moc_QXmppClient.cpp:(.rdata$_ZTV11QXmppClient[__ZTV11QXmppClient]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppClientExtension.o):moc_QXmppClientExtension.cpp:(.rdata$_ZTV20QXmppClientExtension[__ZTV20QXmppClientExtension]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppClientExtension.o):moc_QXmppClientExtension.cpp:(.rdata$_ZTV20QXmppClientExtension[__ZTV20QXmppClientExtension]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppRosterManager.o):moc_QXmppRosterManager.cpp:(.rdata$_ZTV18QXmppRosterManager[__ZTV18QXmppRosterManager]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppRosterManager.o):moc_QXmppRosterManager.cpp:(.rdata$_ZTV18QXmppRosterManager[__ZTV18QXmppRosterManager]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterIq.o): In function `ZNK13QXmppRosterIq4Item22getSubscriptionTypeStrEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppRosterIq.cpp:199: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterIq.o): In function `ZN13QXmppRosterIq4Item26setSubscriptionTypeFromStrERK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppRosterIq.cpp:220: undefined reference to `_imp___Z8qWarningPKcz' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppRosterIq.o): In function `ZN9QHashNodeI7QString15QHashDummyValueE8same_keyEjRKS0_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qhash.h:225: undefined reference to `_imp___ZNK7QStringeqERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppUtils.o): In function `Z18datetimeFromStringRK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:122: undefined reference to `_imp___ZN5QCharC1Ec' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:133: undefined reference to `_imp___ZNK9QDateTime7addSecsEi' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:135: undefined reference to `_imp___ZNK9QDateTime7addSecsEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppUtils.o): In function `Z13jidToResourceRK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:193: undefined reference to `_imp___ZN5QCharC1Ec' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppUtils.o): In function `Z9jidToUserRK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:201: undefined reference to `_imp___ZN5QCharC1Ec' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppUtils.o): In function `Z12jidToBareJidRK7QString': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppUtils.cpp:209: undefined reference to `_imp___ZN5QCharC1Ec' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppUtils.o): In function `ZN7QStringpLE5QChar': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:267: undefined reference to `_imp___ZN7QString4growEi' 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qstring.h:267: undefined reference to `_imp___ZN7QString7reallocEi' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppLogger.o):moc_QXmppLogger.cpp:(.rdata$_ZTV13QXmppLoggable[__ZTV13QXmppLoggable]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppLogger.o):moc_QXmppLogger.cpp:(.rdata$_ZTV13QXmppLoggable[__ZTV13QXmppLoggable]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppLogger.o):moc_QXmppLogger.cpp:(.rdata$_ZTV11QXmppLogger[__ZTV11QXmppLogger]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppLogger.o):moc_QXmppLogger.cpp:(.rdata$_ZTV11QXmppLogger[__ZTV11QXmppLogger]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppEntityTimeManager.o):moc_QXmppEntityTimeManager.cpp:(.rdata$_ZTV22QXmppEntityTimeManager[__ZTV22QXmppEntityTimeManager]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppEntityTimeManager.o):moc_QXmppEntityTimeManager.cpp:(.rdata$_ZTV22QXmppEntityTimeManager[__ZTV22QXmppEntityTimeManager]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppDiscoveryManager.o):moc_QXmppDiscoveryManager.cpp:(.rdata$_ZTV21QXmppDiscoveryManager[__ZTV21QXmppDiscoveryManager]+0x30): undefined reference to `QObject::connectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(moc_QXmppDiscoveryManager.o):moc_QXmppDiscoveryManager.cpp:(.rdata$_ZTV21QXmppDiscoveryManager[__ZTV21QXmppDiscoveryManager]+0x34): undefined reference to `QObject::disconnectNotify(char const*)' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppDiscoveryManager.o): In function `ZN5QListIN16QXmppDiscoveryIq8IdentityEEpLERKS2_': 
c:/Qt/4.8.5/include/QtCore/../../src/corelib/tools/qlist.h:826: undefined reference to `_imp___ZN9QListData7append2ERKS_' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppOutgoingClient.o): In function `ZN19QXmppOutgoingClient13connectToHostEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppOutgoingClient.cpp:158: undefined reference to `_imp___ZN15QAbstractSocket13connectToHostERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE' 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppOutgoingClient.cpp:164: undefined reference to `_imp___ZNK7QString3argERKS_iRK5QChar' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppOutgoingClient.o): In function `ZN19QXmppOutgoingClient13connectToHostERK12QXmppSrvInfo': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppOutgoingClient.cpp:190: undefined reference to `_imp___ZN15QAbstractSocket13connectToHostERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppOutgoingClient.o): In function `ZN19QXmppOutgoingClient11handleStartEv': 
C:\Users\Sprint\Desktop\swe\marssies\qxmpp-0.3.1\build-src-Qt_4_8_5-Debug/../src/QXmppOutgoingClient.cpp:225: undefined reference to `_imp___ZN10QByteArrayC1EPKc' 
C:/Users/Sprint/Desktop/swe/marssies/libqxmpp_d.a(QXmppOutgoingClient.o): In function `ZN19QXmppOutgoingClient12handleStanzaERK11QDomElement': 

還有更多。

最後的編輯

我也做了Qxmpp庫相同,解決了所有那些討厭的錯誤。我現在還有其他錯誤,但我可以說這個問題已經得到解答,因爲我已經過去了。非常感謝你。

+0

我看到'QtSerialPort'和'QextSerialPort'。你在使用它們嗎? – Tay2510

+0

@ Tay2510事實上,該項目不同時使用。我知道這是不可取的,但我無能爲力。你在想什麼? – dasjkdj

回答

1

我看到你正在使用第三方庫QtSerialPortQextSerialPort。幸運的是,這些天我一直在與這兩個可愛的傢伙鬥爭。

的誤差QString::fromUtf8 「可能」 來自於qserialportglobal.h

#ifndef QStringLiteral 
#define QStringLiteral(str) QString::fromUtf8(str) 
#endif 

P.S.定義的宏QStringLiteral我正在使用Qt 4.8.5,可能會有一些差異。

在你gpssettingswidget.cpp,你不必因爲它已被列入QSerialPort又包括qserialportglobal.h

刪除包含,看看它是否會好轉,我知道這是一個艱鉅的工作來處理這些多個錯誤,而這個答案絕對不是最終的補救措施。

至少看看有什麼變化,我們可以在這裏討論。


[編輯] 我看見你正在使用Qwt過,我用QwtQtSerialPort在一起時出現了問題。 The question is here並且尚未解決。我繞過沖突遷移到QextSerialPort。可能會有一些圖書館衝突,我懷疑。

似乎只有Laszlo Papp可以節省你的屁股(他是QtSerialPort的作者之一)

+0

謝謝你們的回答,我已經試過只留下的#include ,仍然得到同樣的錯誤。我甚至評論過所有的qtserialports包含錯誤和不改變,如果你問我很奇怪 – dasjkdj

+0

你是否搜索過任何'QString :: fromUtf8'的新定義? – Tay2510

+0

事實上,有項目中沒有新的定義。此外,我評論鏈接到圖書館以及包括仍然得到相同的錯誤。也許lib im鏈接到不正確的? – dasjkdj