在C ++应用程序中使用DLL

我打算在我的应用程序中使用id3lib 。 我正在寻找一种方法来使用DLL作为库。 我注意到他们以各种forms发布了这个库:其中一个是windows二进制文件 。 我在Windows中的目标平台,我将使用Qt 4.8。 在我解压缩Windows二进制文件后,我在Release文件夹中find以下文件:

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

我知道如何在Qt中使用DLL,一个或多个函数原型所在的头文件,以及带或不带* .lib文件。 这个包没有头文件。

我该如何使用这个包没有任何头文件? 这里* .lib和* .exp文件的目的是什么? 据我所知* .lib文件用于静态链接与我不想在我的程序中的函数。

通常的做法是使用包含在C ++文件中的头文件,链接到.lib文件,运行时需要.dll文件。

头文件应该/可以在另一个包中,因为相同的头文件可能用于不同类型的链接策略。

在最糟糕的情况下,你应该可以使用诸如depend.exe这样的工具来查看导出的符号并创建自己的h文件来匹配 – 但是最好找到一个与该发行版一起发布的.h文件。

你刚刚错过了标题。 它在include子文件夹下(见这里 )是可用的,即使你将使用DLL,链接仍然需要.lib文件。