Question

I'm planning to use id3lib in my application. I'm looking for a way to use the library as a DLL. I've noticed that they released the library in various form: one of which is windows binary. My target platform in Windows, and I'll use Qt 4.8. After I extract the files in windows binary, I found the following files in Release folder:

  • id3lib.dll
  • id3lib.exp
  • id3lib.lib

I know how to use a DLL in Qt given the DLL, one or more header files where function prototypes resides, and with or without the *.lib file. This package doesn't come with a header file.

How am I supposed to use this package without any header file? What's the purpose of the *.lib and *.exp files here? As far as I know *.lib files are used for static linking with functions which I don't want in my program.

Was it helpful?

Solution

The usual course is to use a header file #included in the C++ file, the .lib file to link to and the .dll is required at run time.

The header file should/may be in another package as the same header is probably used for different kinds of linking strategies.

At worst you should be able to use a tool such as depends.exe to view the exported symbols and create your own h file to match - but it would be better to find a .h file issued with the release.

OTHER TIPS

You've just missed the header. It is available under the include subfolder (see here), also the .lib file is still needed for linking, even if you'll be using the DLL.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top