最近在调试QT的程序时,生成的exe文件总是报错说报错缺少msvcr120d.dll,msvcr120p.dll,无法运行
(图片来源于网络)
在网上乱七八糟搜了一大堆,尝试下载了对应的msvc*120d.dll,放入C:\Windows\System32,再运行exe文件发现报错0xc000007b。
经过几天的摸索我最后发现:
缺少msvc120d.dll文件是肯定的。而在C:\Windows\System32添加msvc120d.dll后报错说0xc000007b的原因是因为执行exe时,程序在系统环境变量的路径下搜索到的.dll文件和exe不匹配:
也就是说,如果用32位的编译器,就下载32位的msvc120d.dll拷贝到C:\Windows\System32下,如果用64位的编译器就下载64位的msvc120d.dll拷贝到C:\Windows\SysWOW64下。
另一个发现就是报错0xc000007b很有可能就是搜索道德dll和exe需要的dll不匹配造成的。