2026/6/20 2:19:07
网站建设
项目流程
dede网站首页,做网站的毕业设计,网页设计psd源文件,seo与sem的区别如果你的代码使用了 Visual C 运行时库#xff08;如 msvcp140.dll、vcruntime140.dll、ucrtbase.dll 等#xff09;#xff0c;而目标工控机#xff08;工业控制计算机#xff09;上没有安装对应的运行时环境#xff0c;那么你的程序在工控机上将无法启动#xff0c;通…如果你的代码使用了 Visual C 运行时库如 msvcp140.dll、vcruntime140.dll、ucrtbase.dll 等而目标工控机工业控制计算机上没有安装对应的运行时环境那么你的程序在工控机上将无法启动通常会弹出类似以下错误❌ “无法启动此程序因为计算机中丢失 VCRUNTIME140.dll。”❌ “由于找不到 MSVCP140.dll无法继续执行代码。”✅ 解决方案按推荐顺序✅ 方案一【推荐】在工控机上安装官方 Visual C Redistributable这是最标准、最安全、最可靠的方式。步骤根据你的编译器版本下载对应 Redistributable你用的是 Qt 5.12.9 MSVC2017 → 对应 Visual C 2015–2019 Redistributable下载地址微软官方x64 版本64位系统https://aka.ms/vs/17/release/vc_redist.x64.exex86 版本32位程序或系统https://aka.ms/vs/17/release/vc_redist.x86.exe将安装包拷贝到工控机以管理员身份运行并安装重启通常不需要但建议✅ 优点系统级安装所有程序共享自动更新无兼容问题⚠️ 注意工控机可能无网络需提前下载好离线安装包✅ 方案二【次选】将所需 DLL 随程序一起部署“私有部署”如果无法安装 Redistributable如权限受限、系统锁定可将运行时 DLL 放在你的 .exe 同目录下。需要复制的文件MSVC2017 / v141 工具集your_app.exe├── msvcp140.dll├── vcruntime140.dll├── vcruntime140_1.dll 如果用了 C17/20 新特性├── ucrtbase.dll Universal CRT└── concrt140.dll 如果用了并发运行时如 ppl.h如何获取这些 DLL路径通常在C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC版本号\x64\或C:\Windows\System32\ 但不建议直接从这里拷可能版本不对⚠️ 重要法律与技术限制微软允许你随应用程序分发 Redistributable DLL但必须来自官方 Redist 目录不能从 System32 拷贝必须遵守 Microsoft Visual C 分发许可ucrtbase.dll 属于 Universal CRTWindows 10 自带但在 Windows 7/8 上需额外安装 KB2999226 更新或通过 Redist 安装推荐做法使用 Qt 的 windeployqt 工具它会自动复制 Qt 依赖但不会复制 VC 运行时。你需要手动补充。❌ 不推荐的做法直接从开发机 System32 拷贝 DLL 到工控机 → 可能版本不匹配、缺少依赖、违反许可修改程序为静态链接见下文→ 有局限性✅ 方案三【高级】改用静态链接/MT在编译时将 C/C 运行时静态链接进你的 .exe这样就不依赖外部 DLL。如何设置Qt MSVC在 .pro 文件中添加qmakeQMAKE_CXXFLAGS_RELEASE /MT QMAKE_CXXFLAGS_DEBUG /MTd/MTRelease 静态链接多线程运行时/MTdDebug 静态链接仅用于调试优点无需任何 VC Redistributable程序完全独立缺点EXE 体积增大1~2MB无法接收微软对运行时的安全更新如果你的程序是 DLL 插件且主程序用动态链接/MD会导致冲突混合模式问题Qt 官方预编译库是 /MD 动态链接 的你若用 /MT 静态链接必须自己重新编译整个 Qt 因此除非你完全控制整个软件栈否则不建议对 Qt 程序使用 /MT 工控机部署检查清单 强烈建议即使工控机封闭也尽量说服客户允许安装官方 Redistributable —— 这是微软支持的标准做法长期维护成本最低。