首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows Server2008平台上远程调试C++,缺少VS2010;MSVCP100D.dll

在Windows Server2008平台上远程调试C++,缺少VS2010;MSVCP100D.dll
EN

Stack Overflow用户
提问于 2011-02-16 17:33:41
回答 2查看 5.1K关注 0票数 0

我已经用VS2010写了一个快速的C++控制台应用。我想通过Windows Server2008平台上的远程调试器运行它,以便确定为什么我不能在该操作系统上枚举CLSID_AudioInputDeviceCategory。

控制台应用程序可以在XP和W7平台上运行。

当我第一次尝试运行控制台应用程序时,远程调试器显示以下错误:

代码语言:javascript
运行
复制
The program can't start because MSVCP100D.dll is missing from your computer.  Try reinstalling the program to fix the problem.

我确实尝试过将这个DLL从我的开发机器复制到远程机器上的目标文件夹,但它返回了一条更加模糊的消息:

代码语言:javascript
运行
复制
The application was unable to start correctly (0xc0000007b).  Click OK to close the application.

我已经尝试在目标主机上安装VS2010 C++。这没有任何效果。我没主意了,有人有什么建议吗?

在这个问题上花了一些时间,我注意到服务器2008上的Windows Audio服务被禁用了,但我的查询更多地是为了在服务器2008平台上进行远程调试,而不是解决我的音频硬件枚举问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-16 17:46:12

多亏了Errata,我看了一下

项目属性->配置属性-> C++ ->代码生成

我将运行时库从多线程调试DLL更改为多线程调试(/MTd)。

这允许远程调试,而不必依赖驻留在远程计算机上的正确调试DLL。

我希望这对外面的人有帮助!

票数 4
EN

Stack Overflow用户

发布于 2013-02-01 04:18:39

我也遇到过这种情况。我拿了MSVCP100D.dll和MSVCR100D.dll的拷贝。然而,我从system32 (32位版本)获取了它们,这导致了0xc0000007b错误。

0xc0000007b显然意味着无效的动态链接库,通常是程序和动态链接库(即x86和x64)之间的架构不匹配。在我的例子中,我从我的开发计算机上抓取了错误的DLL (32位)版本,结果是0xc0000007b。在从SysWOW64抓取文件后,它工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5014712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档