无法在C ++ Builder 64位DLL中导出函数

时间:2013-10-25 07:40:59

标签: c++ dll 64-bit c++builder

我正在使用C ++ Builder XE4,试图创建一个带有一些导出函数的64位DLL。

这是一些测试代码:

#include <vcl.h>
#include <windows.h>

#pragma hdrstop
#pragma argsused

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
   return 1;
}

extern "C" __declspec(dllexport) __stdcall void Test()
{
   // do smth
}

我创建了两个DLL,一个是32位目标平台,另一个是目标平台64位,然后使用impdef.exe检查这两个DLL。

使用32位DLL一切正常,我在cmd中看到了这一点:

EXPORTS
Test
___CPPdebugHook

使用64位DLL,我看到的是:

EXPORTS

可能是什么原因以及在Embarcadero c ++中创建64位DLL的正确方法是什么?

非常感谢。

1 个答案:

答案 0 :(得分:3)

你的dll没问题。使用DependencyWalker(depends.exe)代替impdef.exe来查看导出的函数。