我在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.h"声明bp_attach函数的地方是/usr/local/include/bp.h
。
第三方库的库安装在/usr/local/lib
中,并在.pro中定义。
答案 0 :(得分:2)
虽然您告诉QMake在哪里可以找到标题和库,但您需要指定需要链接的库。相当于LDLIBS
的QMake为LIBS
:
INCLUDEPATH += /usr/local/include
LIBS += -lbp
答案 1 :(得分:1)
这可能会有所帮助:
LIBS += -L /usr/local/lib -l**You_library_Name**