我使用freecommandlinetools编译器bcc32。我需要在我的程序中使用第三方DLL。我不想拨打LoadLibrary
和GetProcAddress
,而是将我的程序中的dll链接到直接调用dll函数。Borland C++编译器中的链接DLL
#include "somelibrary.h"
int main() {
somefunction(); // defined in somelibrary.dll
}
我看到未解决的外部尝试编译。如何说服连接器与somelibrary.dll链接?
dll中的函数需要使用[__declspec](https://msdn.microsoft.com/en-us/library/a90k134d.aspx)导出,是吗? – 2015-02-09 12:34:55
是的,他们是。在MinGW编译器中我没有使用它们的问题,我只是不知道borland的方式。 – 2015-02-09 12:36:31
首先使用dumpbin/EXPORTS your.dll来查看从dll导出的符号。接下来,为它编写一个.def文件,并按照此处列出的步骤进行操作:https://support.microsoft.com/kb/131313/en-us然后,将您的程序与导入库链接,并且可以避免LoadLibrary()和GetProcAddress的()。 – BitTickler 2015-02-09 12:38:43