在Borland C ++编译器中链接DLL

时间:2015-02-09 12:32:54

标签: c dll borland-c++

我使用freecommandlinetools编译器bcc32。我需要在我的程序中使用第三方dll。我不想拨打LoadLibraryGetProcAddress,而是在我的程序中链接dll以直接调用dll函数。

#include "somelibrary.h"

int main() {
  somefunction(); // defined in somelibrary.dll
}

我在尝试编译时看到未解析的外部因素。如何说服链接器与somelibrary.dll链接?

1 个答案:

答案 0 :(得分:4)

您必须创建.lib才能直接链接dll。 假设你的dll是user32.dll:

implib -a -c -f user32.lib user32.dll

将使用user32.dll的所有符号创建user32.lib。然后将您的项目与user32.lib而不是user32.dll链接。

您可以使用impdef.exe命令查看dll导出的符号。如果这些符号已经以下划线'_'开头,则可以省略implib命令中的-a。