Hallo,
ich verwende Borland C++ Builder 5.0 und würde gern die id3lib von sourceforge.net in mein Project einbinden. Ich habe die DLL schon mit coff2omf.exe konvertiert, weil es eine Visual DLL ist. Dann habe ich die .lib Datei mit implib.exe erzeugt und zum Project hinzugefügt. auch die Header sind inkludiert, aber ich bekomme nur Linker Errors
[Linker Fehler] Unresolved external ‚ID3_Tag::~ID3_Tag()‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::ID3_Tag(const char *)‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::Link(const char *, unsigned short)‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::HasLyrics() const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::HasV1Tag() const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::HasV2Tag() const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::GetFileSize() const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::GetMp3HeaderInfo() const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Frame::~ID3_Frame()‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Tag::Find(ID3_FrameID) const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Frame::Contains(ID3_FieldID) const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Fehler] Unresolved external ‚ID3_Frame::GetField(ID3_FieldID) const‘ referenced from D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
[Linker Warnung] Public symbol ‚_ID3_v1_genre_description‘ defined in both module D:\CPP\ID3LIB_TEST\UNIT1.OBJ and D:\CPP\ID3LIB_TEST\MP3FILEINFO.OBJ
Sourcen
#include MP3FileInfo.h
…
void __fastcall TForm1::BtnReadClick(TObject *Sender)
{
MP3FileInfo mp3fi; // don’t use at this point!
if(!mp3fi.Init(Edit1->Text.c_str()))
{
Application->MessageBox(„Error by reading MP3Info“, „Test“, MB_OK);
return;
}
Memo1->Lines->Add(IntToStr(mp3fi.nLength));
}
//---------------------------------------------------------------------------
und das is noch in der MP3FileInfo.h definiert
// „If you use id3lib.dll (you link dynamic) you should add
// ID3LIB_LINKOPTION=3 to your preprocessor definitions of your project.“
#define ID3LIB_LINKOPTION 3
#include „id3\tag.h“
#pragma comment(lib, „id3lib.lib“)
Wer von euch hat dies schon erfolgreich hinbekommen?
Danke schon mal im Vorraus
MfG Scuba