2013-05-29 104 views
0

我忙於創建一個DLL(在Windows中,與VS 6.0)。 該DLL有一些功能從外部DLL調用一些其他功能。如何訪問外部dll函數?

在主要的DLL我已經加入:

include "external_lib.h" 

但是,當我嘗試編譯收到此錯誤:

main_lib.obj : error LNK2001: unresolved external symbol _My_external_Function

看來,主要的DLL沒有找到外部的dll .. 。

external_lib.h沒有分配到 「C:\ myprg \ external_lib.dll」

如何分配該dll的名稱?

據我所知,如果目錄沒有定義,它搜索到「C:\ WINDOWS \ SYSTEM」,但如何聲明外部DLL的名稱? (這裏是「external_lib.dll」)

我必須在main_lib.h或external_lib.h中聲明它嗎?

+0

非常感謝回答。但在哪裏添加它以及如何?我如何將dll轉換爲lib? – user2418856

+0

你不轉換它 - 一個外部DLL應該有一個頭文件和一個庫。然後,您將#include標頭,並將lib和包含它的文件夾的名稱添加到鏈接器部分的項目屬性中。 –

+0

我沒有lib文件。它是一個只有dll和頭文件的庫(portaudio)(我用mingw編譯過)。或者也許有可能用mingw生成一個lib文件? – user2418856

回答

0

經過一番激烈的鬥爭,我明白了。 首先,我必須找到外部DLL的代碼,並重新編譯它以獲得他的lib文件(所有的工具,如dll2lib不工作)。 然後在link-import中包含external.lib,編譯並運行。

我很高興。