Qt对第三方软件库的未定义引用

Qt undefined reference to 3rdparty software libraries

本文关键字:未定义 引用 软件库 第三方 Qt      更新时间:2023-10-16

我在Qt应用程序中使用了第三方库函数,但它报告了诸如"undefined reference to bp_attach collect2 : error: ld returned 1 exit status"之类的错误。

我已经从源代码构建了第三方库(ion-dtn),并做了make&make install。我确信它已经成功地安装在我的Ubuntu系统中。

我已经包含了它的头文件"bp.h",Qt对此没有抱怨。但当我编译时,我会收到上面提到的错误。这是我的.pro文件:

QT       += core gui
QT       += network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = MYUDP
TEMPLATE = app
INCLUDEPATH += /usr/local/include/
LIBS += -L /usr/local/lib
PKGCONFIG +=ion-d
SOURCES += main.cpp
        myudp.cpp
HEADERS  += myudp.h
FORMS    += myudp.ui

声明bp_attach函数的"bp.h"的路径为/usr/local/include/bp.h

第三方库的库安装在/usr/local/lib中,并在.pro.中定义

尽管您已经告诉QMake在哪里可以找到头和库,但您需要指定哪些库需要链接。等效于LDLIBS的QMake是LIBS

INCLUDEPATH += /usr/local/include
LIBS += -lbp

这可能会有所帮助:

LIBS += -L /usr/local/lib -l**You_library_Name**