链接到Visual C ++中的旧第三方DLL

时间:2013-01-21 11:31:38

标签: visual-c++ dll

我正在将旧的Borland编译器中的C ++项目移植到VisualStudio 2008.此项目使用我没有源代码的第三方DLL,因此我无法重新编译或修改它。 DLL的头文件定义了以下行的函数:

extern "C" {
void __stdcall Init(int a, int b);
}

但是当我尝试链接到这个DLL时,VisualStudio说它找不到函数_Init @ 8。当我查看DLL时,我发现函数名称是_Init,而不是_Init @ 8(似乎该DLL早于Microsoft将@ 8添加到stdcall名称更改)。

我的问题是:如何在此DLL中调用函数? VisualStudio不支持这些旧的DLL,或者是否存在我缺少的标志/设置。 (我知道我可以使用LoadLibrary / GetProcAddress函数在运行时动态调用函数,但更愿意不这样做。)

1 个答案:

答案 0 :(得分:0)

我没有注意到任何会告诉我你是在进行32位还是64位编码的事情。 MSDN有一些关于如何基于您没有源的dll创建导入库的信息。本文用于制作32 bit import library。干杯!