You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt 5.12.2(MSVC2017)程序在Win7因CRT DLL缺失无法启动的配置咨询

问题解决指南

一、解决Windows 7下api-ms-win-crt-runtime-l1-1-0.dll缺失问题

出现该错误的核心原因是Windows 7系统缺少Visual Studio 2015-2019通用CRT运行库,或是编译时未正确配置目标平台兼容性,具体解决步骤如下:

  • 安装对应VC++运行库:下载并安装32位的Microsoft Visual C++ Redistributable for Visual Studio 2015-2019(务必选择x86版本),该运行库包含缺失的CRT组件。
  • 调整编译目标平台设置:
    1. 在Qt Creator中打开项目,进入项目构建设置页面;
    2. 在MSVC编译器的编译选项中添加/Zc:threadSafeInit-参数,关闭Win7不支持的线程安全初始化特性;
    3. 指定目标平台宏定义_WIN32_WINNT=0x0601(对应Windows 7),可在Qt Creator的编译器配置或VS项目属性中设置。
  • 打包依赖DLL:若不想让用户手动安装运行库,可使用windeployqt工具收集程序依赖的所有DLL,将CRT相关组件与Qt组件DLL一同放入程序目录。

二、Qt 5.12.2 + MSVC 2017环境下的静态编译配置

不更换Qt版本的情况下,可将qmake设置为静态模式,但需自行编译静态版本的Qt库,步骤如下:

  • 准备编译环境:安装Visual Studio 2017(或对应Build Tools)、Perl、Python 2.7(Qt 5.12.x编译依赖该版本Python),并配置好系统环境变量。
  • 下载Qt 5.12.2源码:获取对应版本的Qt源码包。
  • 配置静态编译参数:
    打开VS的x86命令提示符,进入Qt源码目录,执行以下配置命令:
    configure.bat -static -release -platform win32-msvc2017 -prefix "D:\Qt\5.12.2\msvc2017_static" -nomake examples -nomake tests -skip qtwebengine
    
    参数说明:
    • -static:指定静态编译模式;
    • -release:编译Release版本库;
    • -platform:指定编译平台为MSVC2017;
    • -prefix:设置静态库的安装路径;
    • -nomake examples/tests:跳过示例与测试编译,缩短耗时;
    • -skip qtwebengine:Qt WebEngine静态编译复杂度高,建议跳过。
  • 编译并安装静态库:依次执行nmake和nmake install命令,等待编译完成(耗时较长)。
  • 配置Qt Creator静态套件:添加新的Qt版本,指向编译好的静态库路径,匹配对应MSVC编译器,之后即可用该套件编译生成无需携带Qt依赖DLL的独立exe程序。

注意:使用开源版Qt静态编译时,需遵守Qt开源协议;商用场景需确认授权合规性。

内容的提问来源于stack exchange,提问作者elif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:22:46