2
我正在使用C++ Builder XE4,尝试使用某些导出的函数创建64位DLL。无法在C++ Builder 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位的目标平台,然后检查这两个DLL文件与IMPDEF。可执行程序。
随着32位的DLL一切正常,我看到这个CMD:
EXPORTS
Test
___CPPdebugHook
随着64位的DLL的所有我看到的是:
EXPORTS
有什么可以的原因为此,以及在Embarcadero C++中创建64位DLL的正确方法是什么?
非常感谢。
感谢您的回复!我可以看到导出的函数与依赖walker,这两个32位和64位版本的程序在打开我的dll时给我以下错误: 错误:至少有一个需要的隐式或转发的依赖项不是找到。 错误:由于隐式依赖模块中缺少导出功能,至少有一个模块具有未解析的导入。 错误:找到具有不同CPU类型的模块。 无论如何,谢谢你的建议。 –
不要担心这个错误。他们不是重要的问题。我甚至在VC++ dll上看过他们。 –
我有同样的问题,它不允许我调试DLL!我如何强制这个包含在x64 dll中?我有几个dll,我以同样的方式创建。有些项目已经创建了这个变量(CPPdebugHook),其他项目不创建。 – GPB83