转换非托管 C++代码从32位到64位

发布于 2024-08-26 07:58:00 字数 396 浏览 10 评论 0原文

我有一个生成 dll 的非托管 C++ 32 位应用程序。现在,我想为 64 位系统构建它。我的开发系统是32位的。它使用 oledb.lib activeds.lib adsiid.lib ws2_32.lib 库来构建 dll。到目前为止我所做的是:更改配置设置并将活动解决方案平台设置为 x64。它成功构建了应用程序。但我无法在 64 位机器上注册 dll。当我尝试这样做时,出现以下错误:

无法加载 DLL C:\Windows\System32\KBTicketExperience.dll

进程名称:dllhost.exe

在组件注册期间 Comsvc​​s.dll 文件版本:ENU 2001.12.8530.16385 shp。无法验证 DLL 入口点。

您能告诉我如何摆脱这个问题吗?提前致谢。

I have an unmanaged C++ 32 bit application that produces a dll. Now, I want to build it for 64 bit system. My development system is 32 bit. It uses oledb.lib activeds.lib adsiid.lib ws2_32.lib libraries to build the dll. What I have done so far is : Changed the configuration settings and set the Active solution platform to x64. It built the application successfully. But I could not register the dll on a 64 bit machine. While I tried to do so, I got the following error:

Unable to load DLL C:\Windows\System32\KBTicketExperience.dll

Process Name: dllhost.exe

Comsvcs.dll file version: ENU 2001.12.8530.16385 shp during component registration. Unable to validate DLL entry points.

Would you please tell me how to get rid of this problem? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦屿孤独相伴 2024-09-02 07:58:00

我建议创建一个新的项目/工作空间来构建这个 64 位的 DLL——没有任何 32 位的东西。假设该项目工作的 DLL,您可以更仔细地查看项目之间的差异并从中获得。

I recommend creating a new project/workspace to build this DLL that is 64-bit through and through--no 32-bit anything. Assuming the DLL that this project works, you can look more closely at the differences between the projects and got from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文