我已经用VS2010写了一个快速的C++控制台应用。我想通过Windows Server2008平台上的远程调试器运行它,以便确定为什么我不能在该操作系统上枚举CLSID_AudioInputDeviceCategory。
控制台应用程序可以在XP和W7平台上运行。
当我第一次尝试运行控制台应用程序时,远程调试器显示以下错误:
The program can't start because MSVCP100D.dll is missing from your computer. Try reinstalling the program to fix the problem.我确实尝试过将这个DLL从我的开发机器复制到远程机器上的目标文件夹,但它返回了一条更加模糊的消息:
The application was unable to start correctly (0xc0000007b). Click OK to close the application.我已经尝试在目标主机上安装VS2010 C++。这没有任何效果。我没主意了,有人有什么建议吗?
在这个问题上花了一些时间,我注意到服务器2008上的Windows Audio服务被禁用了,但我的查询更多地是为了在服务器2008平台上进行远程调试,而不是解决我的音频硬件枚举问题。
发布于 2011-02-16 17:46:12
多亏了Errata,我看了一下
项目属性->配置属性-> C++ ->代码生成
我将运行时库从多线程调试DLL更改为多线程调试(/MTd)。
这允许远程调试,而不必依赖驻留在远程计算机上的正确调试DLL。
我希望这对外面的人有帮助!
发布于 2013-02-01 04:18:39
我也遇到过这种情况。我拿了MSVCP100D.dll和MSVCR100D.dll的拷贝。然而,我从system32 (32位版本)获取了它们,这导致了0xc0000007b错误。
0xc0000007b显然意味着无效的动态链接库,通常是程序和动态链接库(即x86和x64)之间的架构不匹配。在我的例子中,我从我的开发计算机上抓取了错误的DLL (32位)版本,结果是0xc0000007b。在从SysWOW64抓取文件后,它工作了。
https://stackoverflow.com/questions/5014712
复制相似问题