无法定位程序输入点GetSystemTimePreciseAsFileTime 于动态链接 库KERNEL32.dIl上
你遇到的问题,本质上不是 Qt 5.9.9 不支持 Win7,而是它自带的 CMake 版本在 Win7 上不兼容。🔍 错误根源报错里的 GetSystemTimePreciseAsFileTime 函数,是 Windows 8/Server 2
无法定位程序输入点GetSystemTimePreciseAsFileTime 于动态链接
库KERNEL32.dIl上。
注意:安装 Qt 5.9.9 实际上并不会安装 CMake ,但是 Qt 会自动检测系统安装的 CMake。
由于我之前单独安装了 MinGW 8.1.0,里面带了 CMake ,被 Qt 检测到了,然后在 Kits 构建套件自动配置了 CMake ,
然后在启动 QC 的时候就会弹出上面的错误。
解决方法
如果是覆盖之前的安装,还要把 share 目录下的 cmake-3.18 也复制过去;
或者为 Qt 重新配置一个 CMake 的目录;
你遇到的问题,本质上不是 Qt 5.9.9 不支持 Win7,而是它自带的 CMake 版本在 Win7 上不兼容。
🔍 错误根源
报错里的 GetSystemTimePreciseAsFileTime 函数,是 Windows 8/Server 2012 才引入的 API。
而你 Qt 5.9.9 自带的 CMake,是用较新的编译器构建的,它会默认链接这个 Win7 不存在的 API,所以一启动就会报“无法定位程序输入点”的错误。
简单说:
Qt 5.9.9 本身是支持 Win7 的(官方平台列表里 Win7 是受支持的)
但它捆绑的 CMake 版本,编译时没有做 Win7 兼容处理,导致在 Win7 上无法运行。
✅ 解决方案(两种方法,推荐方案1)
方案1:手动安装兼容 Win7 的旧版 CMake
下载兼容 Win7 的 CMake 版本
推荐下载 CMake 3.18.x 及以下版本(3.19+ 开始逐渐放弃 Win7 支持)
选择
cmake-3.18.6-win32-x86.zip(32位)或cmake-3.18.6-win64-x64.zip(64位)替换 Qt Creator 里的 CMake
解压下载的 CMake,把
bin\cmake.exe复制出来。打开 Qt Creator,进入「工具 → 选项 → 构建和运行 → CMake」。
点击「添加」,选择你刚解压的
cmake.exe,并设置为默认版本。删除 Qt 自带的、不兼容的 CMake 路径,或者直接把旧版 CMake 路径置顶。
方案2:使用 MinGW 项目(不依赖 CMake)
如果你只开发 Qt Widgets / Qt Quick 桌面应用,用 Qt 默认的 .pro + qmake 构建系统,完全不需要 CMake。
新建项目时,选择「Qt Widgets Application」,构建系统保持默认的
qmake即可。这种方式不会调用 CMake,自然也不会触发兼容性错误。
⚠️ 补充说明
为什么 Qt 5.9.9 自带的 CMake 会不兼容?
Qt 安装器里的 CMake 是预编译好的二进制包,而这些包的构建工具链(如 MSVC 2017/2019)在较新版本中,默认会链接 Win8+ 的 API,即使 Qt 本身支持 Win7,捆绑的工具也可能出现兼容性问题。如何验证解决?
替换完 CMake 后,在 Qt Creator 里新建一个 CMake 项目,构建时不再报错,或者直接运行cmake --version能正常输出版本号,就说明兼容成功了。
信息来源:内容由豆包AI生成
本文为转载文章,版权归原作者所有,不代表本站立场和观点。
上一篇:电子税务局 本机检测到打印窗口已开启,请关闭后重新打印
下一篇:返回列表
2026-04-16
0
0


