c++ - failed to link example program using id3 library -
i trying use lib id3 access mp3 tags ultimate aim of accessing album art mp3 music files.
the problem have failed compile example programs come id3 library. problem 1. trying compile example program in project first generates error
1>*** notice *** (not real error) 1>* should include define in project reflect how link library 1>* if use id3lib.lib or libprj/id3lib.dsp (you link static) should add 1>* id3lib_linkoption=1 preprocessor definitions of project. 1>* if use id3lib.dll (you link dynamic) should add id3lib_linkoption=3 1>* preprocessor definitions of project.
when try add
#define id3lib_linkoption 1
to source file , many more errors.
1>linking... 1>msvcprtd.lib(msvcp90d.dll) : error lnk2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@du?$char_traits@d@std@@@std@@qaexh_n@z) defined in id3lib.lib(tag_parse.obj) 1>msvcprtd.lib(msvcp90d.dll) : error lnk2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (?sputn@?$basic_streambuf@du?$char_traits@d@std@@@std@@qaehpbdh@z) defined in id3lib.lib(tag_file.obj) 1>msvcprtd.lib(msvcp90d.dll) : error lnk2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (?eq_int_type@?$char_traits@d@std@@sa_nabh0@z) defined in id3lib.lib(tag_parse.obj) 1>msvcprtd.lib(msvcp90d.dll) : error lnk2005: "public: static int __cdecl std::char_traits<char>::eof(void)" (?eof@?$char_traits@d@std@@sahxz) defined in id3lib.lib(tag_parse.obj)
from these errors assume cause of problems id3lib.lib in additional dependencies. if remove dependencies still these errors
1>linking... 1>main.obj : error lnk2019: unresolved external symbol "public: virtual __thiscall id3_tag::~id3_tag(void)" (??1id3_tag@@uae@xz) referenced in function _main 1>main.obj : error lnk2019: unresolved external symbol "public: class id3_field & __thiscall id3_frame::field(enum id3_fieldid)const " (?field@id3_frame@@qbeaavid3_field@@w4id3_fieldid@@@z) referenced in function _main 1>main.obj : error lnk2019: unresolved external symbol "public: bool __thiscall id3_frame::contains(enum id3_fieldid)const " (?contains@id3_frame@@qbe_nw4id3_fieldid@@@z) referenced in function _main 1>main.obj : error lnk2019: unresolved external symbol "public: class id3_frame * __thiscall id3_tag::find(enum id3_frameid)const " (?find@id3_tag@@qbepavid3_frame@@w4id3_frameid@@@z) referenced in function _main 1>main.obj : error lnk2019: unresolved external symbol "public: __thiscall id3_tag::id3_tag(char const *)" (??0id3_tag@@qae@pbd@z) referenced in function _main 1>c:\users\guestuser\documents\visual studio 2008\projects\idlib example\debug\idlib example.exe : fatal error lnk1120: 5 unresolved externals
please me. beginning feel c++ newbie :(
don't link in msvcprtd.lib default library included in id3lib.lib.
you want link in id3lib.lib
Comments
Post a Comment