最近利用QT开发了一个测试应用,通过qt自带应用windeployqt 打包完成之后本机测试无误,然后部署同事电脑上就无法打开,会提示ucrtbased.dll,VCRUNTIME140D.dll,MSVCP140D.dll三个库找不到,如下面图片所示:
网上查了下说是缺少vs c++运行库,下了几个安装重启都不行,折腾了很久才想到自己有用到vs编译的库,编译的时候是采用debug编译的,改成release方式编译出来替换之前的库之后问题解决。
总结一般出现缺少库的原因大部分是以下几种:
1.运行电脑缺少vs c++运行库,这个只能下载安装包安装
2.我出现的这个问题,发布程序的时候一定要采用release编译。
3.qt环境有问题,我们在设置qt环境的时候最好把qt相关路径放到环境变量的最前面去,在通过windeployqt 打包的时候最好是开始菜单选择用qt自带的cmd工具(注意64/32版本),如下:
大家如果有碰到其它原因欢迎补充。