未定义对`_imp___ZN10HTTPClient5abortEv'等的引用

胜利者

我正在将一个巨大的项目从Qt 4.x迁移到5,我快要完成了,但是我有我找不到的错误,我认为这与某些库的链接有关,但是我在这里有些迷失。我希望有人能对此事有所启发。

错误:

  ./release\addeditaton.o:addeditaton.cpp:(.text+0x6ac2): undefined reference to `_imp___ZN10HTTPClient5abortEv'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0x98c5): undefined reference to `_imp___ZN10HTTPClient3getE7QStringbb'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0x9f88): undefined reference to `_imp___ZN10HTTPClient3getE7QStringbb'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xa7a8): undefined reference to `_imp___ZN10HTTPClient3getE7QStringbb'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xa921): undefined reference to `_imp___ZN10RestClientC2E7QStringibS0_S0_S0_S0_'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xc91b): undefined reference to `_imp___ZN10HTTPClient3getE7QStringbb'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xcaa3): undefined reference to `_imp___ZN10RestClientC2E7QStringibS0_S0_S0_S0_'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xe49d): undefined reference to `_imp___ZN10HTTPClient4postE7QStringS0_b'
    ./release\addeditaton.o:addeditaton.cpp:(.text+0xfc55): undefined reference to `_imp___ZN10HTTPClient4postE7QStringS0_b'
    Makefile.Release:922: recipe for target '..\Release\Swibz.exe' failed
    c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: ./release\addeditaton.o: bad reloc address 0x20 in section `.text$_ZN10QByteArrayD1Ev[__ZN10QByteArrayD1Ev]'

项目文件:

# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------

TEMPLATE = app
TARGET = Swibz
include(Swibz.pri)
DESTDIR = ../Release
QT += widgets network xml webkit webkitwidgets opengl #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/qwt-5.2.0/src \
    ../qwt/src \
    #../../../QENC/QENC \
    ../qenc \
   # ../../../zlib-1.2.5 \
    ../zlib-1.2.5 \
    #../../../serial/qextserialport-1.2win-alpha \
    ../qextserialport-1.2win-alpha \
   # ../../../qxmpp-0.3.0/src \
    ../qxmpp/build-qxmpp-Qt_4_8_5-Debug/src \
    #../../../JSON \
    ../json/JSON \
   # ../../../QtSerialPort/qtserialport/include
    ../QtSerialPort/qtserialport/include
LIBS += -L"../../../SprintLib/release" \
    -L"../../../QENC/release" \
    -L"../../../zlib-1.2.5/contrib/vstudio/vc9/x86/ZlibDllRelease" \
    -L"../../../serial/qextserialport-1.2win-alpha/Release" \
    -L"../../../qxmpp-0.3.0/lib" \
    -L"../../../JSON/Release" \
    -L"../../../QtSerialPort/qtserialport/src/serialport/release" \
    -lopengl32 \
    -lglu32 \
    -lgdi32 \
    -luser32 \
    #-lHDP \
    -L"./libHDP.a" \
    #-l../../Qwt/qwt-5.2.0/lib/debug/qwt5 \
    #-lqenc \
    #-lzlibwapi \
    -L"./zlib1.dll" \
    #-lqextserialport \
    -lsetupapi \
    #-lqxmpp \
    -L"./libqxmpp.a" \
    #-ljson_lib \
    #-lSerialPort1
    -L"./libqextserialportd.a" \
#DEPENDPATH += .
#MOC_DIR += ./GeneratedFiles/release
#OBJECTS_DIR += release
#UI_DIR += ./GeneratedFiles
#eRCC_DIR += ./GeneratedFiles
#win32:RC_FILE = Swibz.rc

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

CODECFORTR     = UTF-8

包括additaton.cpp(如果需要其余代码,请告诉他们,它们是930行,我认为它们与问题无关(

#include "addeditaton.h"
#include "atonwidget.h"
#include "atoninfowidget.h"
#include "messagebox.h"

#include <QtDebug>
#include <QFileDialog>
lpapp

./release\addeditaton.o:addeditaton.cpp:(.text+0x6ac2):对_imp___ZN10HTTPClient5abortEv的未定义引用

此类行通常至少意味着以下问题之一:

  • 您没有安装相应的库。

  • 您没有使用所依赖的符号安装正确的版本。

  • 您的链接选项设置不正确。

在这种情况下,抱怨是关于http客户端库的,所以让我们首先检查您的项目文件。在开始时正确使用了-Land-l选项,但在结束时并未正确使用,因此让我们弄清它们的含义:

-L 表示库的路径。

-l 要么表示库名称,要么表示库的绝对路径。

现在,让我们看看问题末尾的内容:

-L"./libHDP.a" \
#-l../../Qwt/qwt-5.2.0/lib/debug/qwt5 \
#-lqenc \
#-lzlibwapi \
-L"./zlib1.dll" \
#-lqextserialport \
-lsetupapi \
#-lqxmpp \
-L"./libqxmpp.a" \
#-ljson_lib \
#-lSerialPort1
-L"./libqextserialportd.a" \

因此,您应该用以下内容替换它:

-lHDP
#-l../../Qwt/qwt-5.2.0/lib/debug/qwt5 \
#-lqenc \
#-lzlibwapi \
-lzlib1 \
#-lqextserialport \
-lsetupapi \
#-lqxmpp \
-lqxmpp.a \
#-ljson_lib \
#-lSerialPort1 \
-lqextserialportd

另外,您也可以使用上述-l选项指定静态库的绝对路径

但是请注意,您不应在项目中混淆QtSerialPort和QextSerialPort之类的内容。最好使用QtSerialPort。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未定义对imp_getaddrinfo的引用

来自分类Dev

未定义对__imp_WSACleanup的引用

来自分类Dev

对 _imp_sfBlendAlpha 的未定义引用

来自分类Dev

对符号“_ZN3ros10NodeHandle9subscribeERNS_16SubscribeOptionsE”的未定义引用

来自分类Dev

未定义对符号'_ZN5boost6system15system_categoryEv'的引用错误

来自分类Dev

与libcrypto的链接问题:对__imp__CertFreeCertificateContext的未定义引用

来自分类Dev

C ++ / OpenGL | “对`_imp__ChoosePixelFormat @ 8的未定义引用”等

来自分类Dev

与libcrypto链接的问题:对__imp__CertFreeCertificateContext的未定义引用

来自分类Dev

qt-对“ _imp ___ Z * misc * googleDNS *”的未定义引用

来自分类Dev

qt-对'_imp__Z *'的未定义引用

来自分类Dev

未定义的引用

来自分类Dev

gcc链接错误:未定义对符号'_ZN2cv5flann12SearchParamsC1Eifb'的引用,

来自分类Dev

对符号“_ZN3pcl7console5printENS0_15VERBOSITY_LEVELEPKcz”的未定义引用

来自分类Dev

对符号“_ZN3tbb8internal12NFS_AllocateEmmPv”的未定义引用

来自分类Dev

未定义对`yylex'的引用&&未定义对`yyin'的引用

来自分类Dev

“对clrscr()的未定义的引用;”

来自分类Dev

未定义对“ rtIsNaN”的引用

来自分类Dev

未定义对`nfsInit`的引用

来自分类Dev

未定义对“ dlsym”的引用

来自分类Dev

未定义对“ QNetworkAccessManager”的引用

来自分类Dev

对staticMetaObject的未定义引用

来自分类Dev

未定义对QMediaPlayer的引用

来自分类Dev

未定义对memset的引用

来自分类Dev

gcc:未定义的引用

来自分类Dev

未定义对`strlwr'的引用

来自分类Dev

未定义对cusolverDn的引用

来自分类Dev

对vkCreateInstance的未定义引用

来自分类Dev

对pthread的未定义引用

来自分类Dev

freeglut未定义的引用

Related 相关文章

热门标签

归档