Link Problem mit VS - ID3Lib 3.05

redneb

Mitglied
Hallo zusammen,

ich schaffe es nicht die ID3Lib in Visual Studio zum laufen zu bekommen.
Ich habe vorher C++ in Linux programmiert und muß jetzt mit VS arbeiten.
Die ID3Lib ist gedacht um ID3 Tags von MP3s auszulesen. Man kann sich das Paket unter http://id3lib.sourceforge.net runterladen. Die ZIP file enthält eine Menge Ordner und Dateien, darunter befindet sich eine Datei namens "win32.readme.first.txt" in der ich die Lösung vermute, doch durch meine mangelnde Englisch und VS Kenntnis bekomm ich das nicht zusammen. Der folgende Text kommt aus dieser Datei:

How to start:

A) ***Your project wants to link id3lib static, and has mfc linked static:
1) Rename config.h.win32 to config.h
2) include libprj/id3lib.dsp and zlib/prj/zlib.dsp to your workspace
3) make your project dependend on id3lib, and make id3lib dependend on zlib
4) Add /D ID3LIB_LINKOPTION=1 to your project options (settings, C/C++ tab)
5) Add the following include dirs to your program:
/I <path_to_id3lib>\\include /I <path_to_id3lib>\\include\\id3
6) (add your code which uses id3lib)
7) Try to compile, and see if you need any of the following:
(debug) /nodefaultlib:"msvcprtd" or(release) /nodefaultlib:"msvcprt"
(debug) /nodefaultlib:"MSVCRTD" or(release) /nodefaultlib:"MSVCRT"
(debug) /nodefaultlib:"libcd" or(release) /nodefaultlib:"libc"
different programs may require different 'nodefaultlib' 's, or none at all, these worked for me.
If none you try work, revert to C)

B)***Your project wants to link id3lib static, and has mfc linked dynamic or has no MFC:
1) Rename config.h.win32 to config.h
2) include libprj/id3lib.dsp and zlib/prj/zlib.dsp to your workspace
3) make your project dependend on id3lib, and make id3lib dependend on zlib
4) Add /D ID3LIB_LINKOPTION=1 to your project options (settings, C/C++ tab)
5) Add the following include dirs to your program:
/I <path_to_id3lib>\\include /I <path_to_id3lib>\\include\\id3
6) (add your code which uses id3lib)
7) Try to compile, and see if you need any of the following:
(debug) /nodefaultlib:"msvcprtd" or(release) /nodefaultlib:"msvcprt"
(debug) /nodefaultlib:"MSVCRTD" or(release) /nodefaultlib:"MSVCRT"
(debug) /nodefaultlib:"libcmtd" or(release) /nodefaultlib:"libcmt"
different programs may require different 'nodefaultlib' 's, or none at all, these worked for me.
If none you try work, revert to C)

C)***Your project wants to link id3lib dynamic: (instructions below for vc)
1) Rename config.h.win32 to config.h
2) include prj/id3lib.dsp and zlib/prj/zlib.dsp to your workspace (*note this is a different id3lib than above)
3) make your project dependend on id3lib, and make id3lib dependend on zlib
4) Add /D ID3LIB_LINKOPTION=3 to your project options (settings, C/C++ tab) (*note this is a different option than above)
5) Add the following include dirs to your program:
/I <path_to_id3lib>\\include /I <path_to_id3lib>\\include\\id3
6) (add your code which uses id3lib)
7) Compile.
8) dump id3lib.dll in your programs project dir.
9) distribute your program including id3lib.dll
(MS recommend you distribute it in your programs dir and not in system(32) to avoid version conficts)



Ich hoffe mir kann Jemand helfen das Programm zum laufen zu bekommen ohne die nervende Fehlermeldung "Include-Datei kann nicht geoeffnet werden".

Danke im vorraus
 
Die 3 Typen sind:
1. statische Library, die in ein Project mit statischem MFC eingebunden werden soll
    => Project findest du im libprj ordner (id3lib.dsp)
2. statische Library, die in ein Project mit dynamischen MFC eingebunden werden soll
   => Project findest du im libprj ordner (id3lib.dsp)
3. dynamische Library (einsatzort egal)
   => Project findest du im prj ordner (id3lib.dsp)

1. und 2. sind das gleiche Project

Compile einer dieser Versionen und füge die id3lib.lib zu deinem Project hinzu. (bei der DLL(3. Möglichkeit)
musste auch die DLL in den Ordner deines Programmes kopieren). Wenn du 1. oder 2. gewählt hast
musst du "ID3LIB_LINKOPTION=1" zu den Präprozesserdefinitionen hinzufügen (c/c++ tab/Präprozesser
bei 3. musst du ID3LIB_LINKOPTION=3 hinzufügen.

Sollte irgendwas danach nicht klappen, meld dich einfach nochmal
 
Danke für die Antworten, nur leider gehts immer noch nicht... :sad:
Ich hab zeihmlich viele Möglichkeiten ausprobiert, das einzige was ich brauche ist eine Konsolenanwendung mit Funktionen um auf MP3 Tags zu zugreifen.
Obwohl ich eher ein Windows Freund bin muß ich zugeben das es unter Linux echt leichter ist.

Kann mir Jemand eine Schritt für Schritt Anleitung geben? Bin echt am verzweifeln... Welche der 3 Arten ist mir egal Haupsache es geht...

Danke
 
Das ist ein einfaches Beispielproject in dem die Sachen eingegliedert sind.
Der SourceCode allein reicht hier nicht aus!
In den Projecteinstellungen ist eine spezielle Variable definiert: ID3LIB_LINKOPTION=3
Diese zeigt der Bibliothek an, dass die Dll Version verwendet wird
Hoffe dir geholfen zu haben!

Hmm... merke grade das das so zu groß is...
So, jetzt is File kleingemacht.
Also, folgendes: du musst dir hier runterladen und dafür sorgen, dass sie korrekt ins
gleiche Verzeichnis entpackt werden.

Also Im Ordner BspId3Lib\Debug müssen id3lib.dll, id3lib.lib und id3lib.exp liegen
und im Ordner Release auch!
 

Anhänge

Zurück