程序报0xc0150002和0xc000007b错误的解决方法


0xc0150002: 应用程序正常初始化失败

可能原因:
程序使用VS2008开发,使用了动态编译,而程序启动时发现系统中msvcr90库版本不匹配
也可能是exe程序间接使用了某些动态库,而那些库中有引入该库

确定问题:
可以通过查看Windows日志发现问题,
在“应用程序”中会有对该问题的详细描述,大致是未能找到所需版本的msvcr90

解决方法:
参考 http://blog.csdn.net/shellching/article/details/8294766

我遇到的情况
vs2010写的一个操作sqlite数据库的程序,本机运行良好,
携带了sqlite.dll以及其依赖的msvcr90.dll,一同放在server2008(64位)系统上提示该错误;
后来拷贝了一个Microsoft.VC90.CRT.manifest文件,并且修改其中的版本号,放在同目录下OK

0xc000007b: 程序无法正常启动

可能原因:
程序使用了动态库,但是版本不对,最容易发生的是32位和64位版本错用的情况

确定问题:
可以通过动态库依赖工具查看,exe程序都依赖哪些库,以及各库的版本
常用的查看库依赖工具:eXeScope(未找到64位版)、depends(支持64位)

我遇到的情况:
vs2010写的一个mysql程序(64位),使用了mysql-connector-c++动态库,放在server2008(64位)系统上提示该错误
connector库使用了msvcr100和msvcp100两个运行库,错拷贝了x86版本的,换成x64版后OK

另,关于vs使用的各版本库,推荐参考  你所不知道的C和C++运行库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值