Link Borland C++ 编译器中的 DLL

Link DLL in Borland C++ compiler

我使用freecommandlinetools编译器bcc32。我需要在我的程序中使用第三方 dll。我宁愿不调用 LoadLibraryGetProcAddress,而是 link 我程序中的 dll 直接调用 dll 函数。

#include "somelibrary.h"

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

我在尝试编译时看到未解决的外部问题。如何用somelibrary.dll说服linker link?

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

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

将使用 user32.dll 的所有符号创建 user32.lib。然后 link 你的项目 user32.lib 而不是 user32.dll.

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