PDA

View Full Version : undefined reference id3Tag_New()..



ar3
23rd March 2012, 17:42
i'm doing project on creating a mp3 player using phonon.i had to read the id3 tags so i included external id3lib windows binaries for dynamic linking,everything was working fine even creator was able to detect the id3 variable while compiling i'm get some serious errors...

My *.pro file



QT += core gui
QT+=phonon

TARGET = AudioPlayer
TEMPLATE = app

DEFINES+=ID3LIB_LINKOPTION=1
ID3LIB_LINKOPTION=3
SOURCES += main.cpp\
mainwindow.cpp\

HEADERS += mainwindow.h\
id3.h


win32:CONFIG(release, debug|release): LIBS += -L$$PWD/id3lib-3.8.3binaries/release/ -lid3lib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/id3lib-3.8.3binaries/debug/ -lid3lib
else:symbian: LIBS += -lid3lib
else:unix: LIBS += -L$$PWD/id3lib-3.8.3binaries/ -lid3lib

INCLUDEPATH += $$PWD/id3lib-3.8.3binaries/Release
DEPENDPATH += $$PWD/id3lib-3.8.3binaries/Release


in my header file i have included id3.h file
and my src file



char *filename=NULL;
filename=(fileName.toAscii()).data();
if((tag=ID3Tag_New())!=NULL){
ID3Frame *frame;
(void) ID3Tag_Link(tag,filename);
if((frame=ID3Tag_FindFrameWithID(tag,ID3FID_TITLE) )!=NULL){
ID3Field *field;
if((field=ID3Frame_GetField(frame,ID3FN_TEXT))!=NU LL){
char title[1024];
(void) ID3Field_GetASCII(field,title,1024);
QString at(title);
albumTitle->setText(at);
}
}
}



and my compile output



g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o release\AudioPlayer.exe release/main.o release/mainwindow.o release/moc_mainwindow.o -L"c:\QtSDK\Desktop\Qt\4.7.4\mingw\lib" -lmingw32 -lqtmain -LD:/QT/AudioPlayer/id3lib-3.8.3binaries/release/ -lid3lib -lphonon4 -lQtGui4 -lQtCore4 -LC:\OpenSSL-Win32_full\lib
mingw32-make.exe[1]: Leaving directory `D:/QT/AudioPlayer-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Release'
release/mainwindow.o:mainwindow.cpp:(.text+0x1ba0): undefined reference to `ID3Tag_New'
release/mainwindow.o:mainwindow.cpp:(.text+0x1bb7): undefined reference to `ID3Tag_Link'
release/mainwindow.o:mainwindow.cpp:(.text+0x1bca): undefined reference to `ID3Tag_FindFrameWithID'
release/mainwindow.o:mainwindow.cpp:(.text+0x1bde): undefined reference to `ID3Frame_GetField'
release/mainwindow.o:mainwindow.cpp:(.text+0x1bfc): undefined reference to `ID3Field_GetASCII'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [release\AudioPlayer.exe] Error 1
mingw32-make.exe: *** [release] Error 2
22:51:03: The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project AudioPlayer (target: Desktop)
When executing build step 'Make'