Import libraries are used to link an executable file to a dynamic-link library (DLL) or another executable containing an export table.
Usually, the import library is provided by the DLL developer, so that other developers can link to that specific DLL.
For example, Microsoft® provides the import libraries for the Windows system DLL (e.g., kernel32.dll
, user32.dll
).
Usually, the import libraries have the same file extension and the same format as the static libraries. For example, kernel32.lib
can be the import library for kernel32.dll
.
The standard import library file format supported by most linkers for Windows is MS COFF.
The ImpLib SDK is also useful to overcome any legal restrictions when redistributing the import libraries for certain DLL files, like the Microsoft® C++ runtime. The import libraries for the CRT or STL are part of the Windows SDK. Even though the SDK is available for free, redistributing these files is not allowed according to the current license agreements. An alternative is to generate these import libraries using the ImpLib SDK, as it doesn't restrict redistribution.
One of the ImpLib SDK tools is DLL2DEF. It's a command-line utility to extract the dynamic-link library symbols in plain text format.
The ImpLib SDK Guide provides a more detailed description and a set of usage tutorials.
PureBasic OpenAL SDK is hosted here as well. It was built using the ImpLib SDK.
The ImpLib SDK is free even for commercial use and redistribution of any kind, as long as all copyrights are preserved. The whole package is provided "AS IS". Check the license file included in the current release for additional info.