开发环境:vs2022 + vs QT Tool
赶时间的直接到末尾........
1.先报错:由于找不到MSVCR120.dll,无法继续执行代码
网上大佬大多是推荐找到缺失的dll加上就好,参考下面链接
加上后的确不错上面这个错了,但是新的错误出现了
↓
2.再报错:应用程序无法正常启动0xc000007b
参考网上说一般是VC++运行库的问题,解决库的问题的方法大概分两个方向:
①下载修复软件,比较典型的是下面这个:
名字是DirectX Repair,参考链接:
②下载整套的库文件(快速一键安装全部 Windows 系统必备常用运行库合集)
比较好用的是这个:
******************************************************************************************
但是!一通乱搞,我把上面的方法都试了,依旧不行,错误还是那个错误!
开始分析:从网上流行观点来看,这个错误的本质就是缺少库,大多数文章说是缺少底层的Microsoft Visual C++(微软C++运行库),用Dependencies看一下吧,(因为我所有的QT程序都会报个错,这里看的随便一个输出的程序exe文件):
看到这里,我可能才摸清方向,开始考虑是不是QT版本的问题了(背景:一开始安装的QT 5.15.2,用的好好地,但是前几天为了调试其他软件安装了5.93的QT,当时5.93的QT功能没有选择完整,只选了部分,因为不用开发,只是调试其他软件) 。
随后去vs上看了一下版本的配置:
已经默认是5.15.2了,好像也没什么毛病,那么那里还跟QT版本有关呢?
**********************************************************************************************
答案是环境变量:
当时安装QT之后都要配置环境变量,所以两个都配置了,我就想是不是顺序的问题:
试一下吧!
结果程序正常执行了!
唉!逻辑是这样的:
解决完问题思考的时候突然想到之前那里看到过关于这个环境变量配置顺序的说明,找一下,原来在供应商给的安装指引上:
随后去确认了一下,大多数文章一般拿Python讨论,我想QT应该也是一样的吧:
然后其他知识,比如动态切换版本什么的,这里不讨论。
原因:QT版本引用错误,导致有些库不能正常使用。
解决办法:多版本环境下修改配置的环境变量顺序,单一版本情况下还是按照缺少MSVC++库处理吧!