QT编译程序在其他机器运行出现0xc0150002的报错信息的解决办法。
在QT Creator中编译的Debug版本的程序,放到其他机器出现报错信息。我的处理办法如下。
在不能运行的机器上,桌面--计算机,右击,选择管理,选择系统工具的事件查看器,在日志摘要双击应用程序,可以看到级别中为错误的信息,有一条来源为SideBySide,事件ID为33,看时间就是运行出错的事件,就是它了。查看它的详细信息,
描述:
“E:\debug\**.dll”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"。 请使用 sxstrace.exe 进行详细诊断。
“E:\debug\**.dll”的激活上下文生成失败。 找不到从属程序集 Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"。 请使用 sxstrace.exe 进行详细诊断。
到网上搜索相关信息,是缺少VC++的运行库的某些组件,缺少版本为8.0.50727.6195的Microsoft.VC80.CRT组件,win7下这些文件在C:\Windows\winsxs中,我找了一下我编译机器的这个路径,找到了x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a这个文件夹,而运行出错的机器上就没有这个文件夹,那就缺啥补啥吧,安装了Microsoft Visual C++ 2005,2008,2010,2012还有SP1各种组合的运行组件,依然没有解决,就是没有6195版本的,后来不经意间看到有别人也是缺这个目录,安装了Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package MFC Security Update就解决了,我也跟着照做,结果真的安装上了6195版本的,问题解决,我的程序也顺利的运行起来了。