在delphi中使用lib文件。如何导入lib文件

时间:2011-12-21 10:21:53

标签: delphi delphi-2009

我有一个lib文件的API。 使用该lib文件.h文件提供。 现在我想在Delphi中调用lib文件,并使用它的功能。

lib文件如何连接到Delphi?

更新:确定需要分配工作,如果我得到一个DLL怎么办?我如何将其链接到Delphi?

2 个答案:

答案 0 :(得分:5)

您不能使用lib文件从Delphi链接到DLL。 .lib文件将由DLL的C或C ++客户端使用。

在Delphi中,您需要使用external关键字将.h头文件手动转换为Pascal导入单元。 Delphi源代码中Windows.pas单元的一个示例。您无法使用.lib文件这一事实实际上不是一个大问题,因为无论如何都必须翻译.h文件。

答案 1 :(得分:0)

在某些情况下,可以使用Agner Fog(请参阅http://www.agner.org/optimize/?e=0,34,36)到.obj文件的目标文件转换器等工具提取.lib文件的成员。

语法是

  

objconv.exe libname.lib -lx

提取所有成员。

通过提取所有成员,您可以确保没有成员丢失。但是,如果存在进一步的依赖关系(对于其他.lib文件),这些将无法解决,必须手动解决。

还需要翻译头文件。

注意:也可以转换目标文件格式。 Delphi只了解OMF,而英特尔编译器(例如)仅吐出COFF。因此需要进行转换,也可以通过该工具完成。

如上所述,这只适用于某些情况,并且肯定需要在这方面有一些专业知识,因为编译器不会对错误消息提供太多帮助(通常这些消息令人恼火和误导)。