IC读卡器留下的dll坑0x000007b

公司又找我说读卡器刷卡没反应。这才记起来好像每张卡得初始化一次。把卡里的密码记载到读卡器上,于是又找了以前写的初始化程序,找到了发过去,结果问题一大堆。
第一个问题,运行时提示缺少msvcp120d.dll。看一看我的本地目录也没有这个dll,仔细一看我的系统目录确实有这个文件,而公司的电脑上没有,于是复制了一份过去,结果还是显示缺少这个文件,猜测是该文件依赖的dll公司电脑上没有。于是去补充了c++库。结果还是一样。最终再思考一下绝得没道理,结果是我把msvcp120d.dll看成了msvcr120d.dll。搞了一个大坑。于是把msvcp120d.dll复制过去,问题解决。

但是第一个问题是,返回设备号-32。第一反应是找不到设备,感觉没道理,于是删除了电脑上的所有com口,结果还是一样。最后经过测试表明,读卡器插入电脑根本不会产生新的串口。
后面突然想起来VC写的程序好像可以调成x64模式的,在Debug配置,活动解决方案平台中,也就是调成64位程序。调了之后,解决了-32的问题。

紧接着又提示0x000007b。网上一查这种情况多半是dll存在,但是不对,于是猜测可能是dll位数的问题,但是我的电脑是64位的,公司电脑是64位的,没道理我这可以运行他那就不行,文件的版本是一样的。虽然这么想,也还是把涉及到的dll全部在https://cn.dll-files.com/search/网站上下载对应64位的,居然解决了问题。

但是虽然可以运行了,但是运行过程中居然提示加载mwrf32.dll失败,mwrf32.dll是唯一没有替换成64位的,因为找不到,于是猜测mwrf32.dll出了问题,虽然在我自己的电脑上没问题,但是经过上个问题明显的我电脑上dll可能会存在问题,于是看了看我程序目录的mwrf32.dll和sysdem32目录的mwrf32.dll,果然不一样,删除了程序目录的mwrf32.dll,发现我电脑还是可以运行,但是删除了这个系统里的mwrf32.dll,就出现了和公司一样的情况,至此,终于确定是mwrf32.dll出问题,而我电脑上的程序本地的所有dll本来是有问题的,但是我系统system32目录下存在了正确的版本,才可以正确运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值