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.lib

    main.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 functionZN4Tins10EthernetIID1Ev':
    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::EthernetII

    Is it problem of linker i.e . linker is unable to find definition of functions.


  • Moderators

    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.



  • Yeah , I tried it every time after making changes in .pro file.
    Same problem I am facing when I added winpcap library into my project.


  • Moderators

    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?



  • Yeah path is correct. I think it is problem of linker but I am not getting it.
    I tried with double quotation also.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.