我计划在我的应用程序中使用id3lib。我正在寻找一种将库用作DLL的方法。我注意到他们以各种形式发布了这个库:其中之一是windows二进制。我在Windows中的目标平台,我将使用Qt 4.8。在我提取windows二进制文件后,我在Release文件夹中发现了以下文件:
- id3lib.dll
- id3lib.exp
- id3lib.lib
我知道如何在Qt中使用DLL,给定DLL、函数原型所在的一个或多个头文件,以及是否使用*.lib文件。此程序包没有头文件。
如果没有任何头文件,我应该如何使用这个包?这里的*.lib和*.exp文件的用途是什么?据我所知,*.lib文件用于静态链接程序中不需要的函数。
您刚刚错过了标题。它位于include子文件夹下(请参见此处),而且链接仍然需要.lib文件,即使您将使用DLL。
通常的课程是使用C++文件中包含的头文件#,要链接到的.lib文件,运行时需要.dll。
头文件应该/可能在另一个包中,因为同一个头可能用于不同类型的链接策略。
最坏的情况下,您应该能够使用dependens.exe等工具来查看导出的符号,并创建自己的h文件来匹配,但最好找到随发行版发布的.h文件。