| Compiling on win32: |
| |
| So far, it has only been confirmed it compiles on visual C 6.0 (service pack 5), |
| but if you got it working on Borland or other compilers, drop me a mail, or better, add a patch |
| here: http://sourceforge.net/tracker/?group_id=979&atid=300979 with the (e.g.) borland project files. |
| |
| These are the directories you'll be needing: |
| id3lib/prj |
| id3lib/libprj |
| id3lib/id3com |
| |
| The first one (id3lib/prj) creates the standard dll (no COM interface) |
| The Second one (id3lib/libprj) creates the .lib file for static linking. |
| And the third one (id3lib/id3com) creates a dll with com interface. A Visual basic demo using it is included. |
| |
| Before you compile, you'll need to rename id3lib/config.h.win32 to id3lib/config.h |
| |
| The third one is not too much tested, it was created outside this project but |
| it doesn't seem to be maintained anymore. I've included it as a service. |
| The original location is http://sourceforge.net/projects/id3com |
| |
| And, last but not least, there is a delphi project in cvs |
| (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/id3lib/id3lib-stable/delphi/) |
| which uses the allready compiled dll. |
| Also in there is a file called Id3lib.pas which has the interface to the dll |
| defined. |
| |
| 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) |
| |
| Thijmen |
| thijmen@id3lib.org |
| |