Undefined reference to function availabel in external added library
-
I added external library by ADD LIBRARY method. When I am trying to use the functions available in library , errors are coming "undefined reference"
My .pro file:-
QT += core
TARGET = libtnis
SOURCES += main.cpp
win32: LIBS += -L$$PWD/libtins-latest-win32/libtins-latest-win32/lib/ -ltins
INCLUDEPATH += $$PWD/libtins-latest-win32/libtins-latest-win32/include
DEPENDPATH += $$PWD/libtins-latest-win32/libtins-latest-win32/include
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/libtins-latest-win32/libtins-latest-win32/lib/tins.libmain.cpp
#include<tins/tins.h>
using namespace Tins ;
int main()
{
EthernetII eth;
return 0;
}Following errors are coming while building the project………..
C:\Qt\Tools\QtCreator\bin\build-lib_testing-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\main.o:-1: In function `Z5qMainiPPc':C:\Qt\Tools\QtCreator\bin\lib_testing\main.cpp:12: error: undefined reference to
Tins::EthernetII::EthernetII(Tins::HWAddress<6u, unsigned char> const&, Tins::HWAddress<6u, unsigned char> const&)' C:\Qt\Tools\QtCreator\bin\build-lib_testing-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\main.o:-1: In function
ZN4Tins10EthernetIID1Ev':
C:\Qt\Tools\QtCreator\bin\lib_testing\libtins-latest-win32\libtins-latest-win32\include\tins\ethernetII.h:45: error: undefined reference to `vtable for Tins::EthernetIIIs it problem of linker i.e . linker is unable to find definition of functions.
-
Hi, welcome to devnet.
Have you tried to re-run qmake after adding the library (Build->Run qmake)? Changes in the .pro file are not picked up automatically.
-
Are the paths correct? "libtins-latest-win32" is doubled in them.
It also seems strange that you would have your project inside the QtCreator directory. Do you really keep it there?