Link Borland C++ 编译器中的 DLL
Link DLL in Borland C++ compiler
我使用freecommandlinetools编译器bcc32。我需要在我的程序中使用第三方 dll。我宁愿不调用 LoadLibrary
和 GetProcAddress
,而是 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。
我使用freecommandlinetools编译器bcc32。我需要在我的程序中使用第三方 dll。我宁愿不调用 LoadLibrary
和 GetProcAddress
,而是 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。