Qt中windeployqt.exe工具的使用:解决使用CMake创建的项目点击exe文件后系统提示0xc000007b的问题

1.前言:

我在Qt Creator中使用CMake创建的项目,在Qt Creator中程序运行正常 (release版本) ,然后我尝试在文件夹中点击exe运行程序,提示我缺少动态库,随后我使用这个方式:参考博客,添加了缺失的动态库,继续点击exe程序,又提示我缺少libgcc_s_dw2-1.dll动态库,查阅资料可知windeployqt.exe 主要处理 Qt 框架自身的依赖,有时候会漏掉编译器的运行库,因此在使用windeployqt.exe的同时要加上--compiler-runtime选项:

bash 复制代码
windeployqt.exe --compiler-runtime your_app.exe

2.主要问题

解决完上面的问题后我继续点击exe程序,然后系统提示我0xc000007b的问题,以前使用QMake的时候未出现过这个问题,后面查阅相关资料可知,使用QMake的时候 windeployqt工具会尝试自动检测你的 your_app.exe 是 Debug 版本还是 Release 版本。但在某些情况下(如使用 CMake 或自定义构建系统),自动检测可能失败。此时加上 --release 参数,就是明确告诉工具"我的程序是 Release 版本,请按 Release 模式处理"。

3.问题原因

我就是因为我程序是Release 版本,但是使用windeployqt工具时检测出来的是debug版本,所以补齐的依赖库也是用的debug版本,这就导致系统提示0xc000007b,如下图所示:

4.解决方法

bash 复制代码
windeployqt.exe --compiler-runtime --release your_app.exe
相关推荐
code2cat3 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
北京中科新远科技3 小时前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
AI源码4 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
旖旎夜光5 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
揽星河..5 小时前
【C语言】结构体
c语言·开发语言
2601_966949655 小时前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
神仙别闹7 小时前
基于Python实现英词语自动对齐系统
开发语言·python
akinggw7 小时前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
老歌老听老掉牙7 小时前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面