我在我的Qt應用程序中使用第三方庫函數,但它報告錯誤,如「undefined reference to bp_attach collect2 : error: ld returned 1 exit status
」。Qt未定義引用第三方軟件庫
我已經從源代碼構建第三方庫(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中定義。
但你只指定鏈接應該找到庫,你實際上並沒有說什麼庫鏈接? –
順便說一句,如果你的庫確實提供了'pkg-config'文件,你的'PKGCONFIG + = ion-d'可能對你有用 - 但只有當你指定CONFIG + = link_pkgconfig時也是如此。 –
謝謝託比,我意識到它離子-d是錯字和庫不提供pkg-config – samprat