我使用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