【发布时间】:2011-01-31 04:37:24
【问题描述】:
我有一个生成 dll 的非托管 C++ 32 位应用程序。现在,我想为 64 位系统构建它。我的开发系统是32位的。它使用 oledb.lib activeds.lib adsiid.lib ws2_32.lib 库来构建 dll。到目前为止我所做的是:更改了配置设置并将 Active 解决方案平台设置为 x64。它成功地构建了应用程序。但我无法在 64 位机器上注册 dll。当我尝试这样做时,出现以下错误:
无法加载 DLL C:\Windows\System32\KBTicketExperience.dll
进程名:dllhost.exe
Comsvcs.dll 文件版本:组件注册期间的 ENU 2001.12.8530.16385 shp。无法验证 DLL 入口点。
你能告诉我如何摆脱这个问题吗?提前致谢。
【问题讨论】:
-
什么是 KBTicketExperience.dll,为什么它在System32中?
-
您的 64 位应用程序是否仍在尝试加载 32 位 DLL? 64 位应用程序/DLL 无法加载 32 位 DLL,反之亦然。
-
我也有这个问题。有没有办法在 64 位机器上使用 32 位 DLL?
-
您可以在 64 位机器上使用 32 位 dll,但只能在 32 位 exe 中使用。
标签: c++ unmanaged 32bit-64bit