visual-studio - Qt 应用程序在发布时挂起,在调试中找不到 vcruntime140.dll,但我的项目使用的是 VS2017
问题描述
我制作的应用程序有问题,它在大多数计算机上都能完美运行,但只有少数计算机。
我尝试制作最简单的 Qt 项目(只是一个窗口)并使用 windeployqt.exe 部署它,以确保我不会错过任何东西,等等,在同一台计算机上出现同样的问题,它在加载时永远挂起释放模式。之后我尝试向他发送一个调试版本,它触发了一个未找到的 vcruntime140.dll。
棘手的是我使用的是 Qt Desktop 5.14.2 MSVC2017 64bit 所以我无法想象为什么它要求 vcruntime140 (vs2015) 也试图手动安装 vs2015 redist windows 失败,因为已经存在更新的版本。
谢谢你的任何提示,这让我发疯了!
解决方案
windeployqt
在部署文件夹中包含vc_redist.<arch>
可执行文件,当我将应用程序部署到其他 Windows PC 时,有时我会收到vcruntime140.dll
其他 MS Visual C++ 可再发行 DLL的错误声明vc_redist.x64.exe
。解决了; 我理解目标PC可能已经有更新版本的redistrib..但我一直认为更新的通常是向后兼容的..,但我认为Qt包含应用程序所需的正确redisreb作为它的编译位置。
推荐阅读
- plugins - Chrome扩展程序和离线MS Office插件可以一起使用吗
- ios - 如何将委托和数据源链接到一个 ViewController 中的多个表视图?
- python - 未找到“pip”和“python”命令,但 python3 和 pip3 工作正常
- c# - 如何动态改变标签的颜色?赛马林
- r - R Studio/AWS 内存要求
- google-apps-script - GAS 函数的输出不是单个单元格值,而是整列值
- javascript - 在 Javascript 函数中访问嵌套数组
- python - 如何为我的转化创建函数
- python - 将 dask 数据帧保存到 csv 时如何更正错误?
- node.js - 在 Angular、Node.js、NestJS 和 Firebase 中开发应用程序