QT .exe crashed 报错解决思路

本文记录了一位初学者在使用QT开发音乐播放器过程中遇到的编译问题及解决方法,主要包括DLL库加载错误及文件路径配置不当等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学QT,老是犯一些很二的错误:

        写一个音乐播放器,编译通过,界面启动的时候会出现下面的错误:

11:24:36: Starting E:/myproject/build-music_test-Desktop_Qt_5_9_0_MinGW_32bit-Debug/debug/music_test.exe...
11:24:40: E:/myproject/build-music_test-Desktop_Qt_5_9_0_MinGW_32bit-Debug/debug/music_test.exe crashed.

于是开启垃圾堆里刨食,什么谷歌,百度都找了个遍。

出错的原因主要在两点:

  • dll库加载错误,需要设置windows的环境变量

 这个系统的Path环境变量,要把QT编译器的链接库加载上

  • 代码中引用的文件路径有误。

 上面那个是以前插U盘时的路径,后来U盘被拔掉了,也会出现这个错误。TMD,这个简单的错误耗了我一上午,写出来,分享给大家,节省时间。

大家出排错时,建议先运行几个QT自带的案例程序,如果案例程序没问题,那一定是你写的代码有问题,回头检查一遍,像我这个,我认为编译器通过了,一直以为不是代码的问题,盲目自信,把系统改成乱七八糟,最后才回来查代码。。。。

### Qt Creator 编译时 xx.exe 崩溃解决方案 当遇到 `xx.exe` 在编译过程中崩溃的情况,通常涉及多个方面的原因。以下是详细的排查和解决办法: #### 1. 检查可执行文件是否为有效的Qt应用程序 如果 `windeployqt` 报告“does not seem to be a Qt executable”,这表明所处理的应用程序可能不是由Qt构建的,或者是由于某些原因无法识别为Qt应用[^1]。 #### 2. 动态链接库缺失或版本不匹配 确保所有必要的Qt动态链接库(如 `Qt5Core.dll`)都在目标计算机上存在并位于系统的PATH环境中。对于开发环境中的调试阶段,可以利用依赖查看器工具来确认所需的DLL是否存在以及是否有任何未解析的导出函数。此外,在发布前应使用 `windeployqt` 工具收集所有的必需项[^4]。 #### 3. 故障堆栈保护机制触发 日志显示 "Fault tolerant heap shim applied" 提示可能是之前发生过多次异常终止导致操作系统启用了容错堆功能。这种情况下建议清理注册表中与此进程相关的记录或者尝试重启系统以重置此状态。 #### 4. 权限设置不当 有时即使路径正确也可能因为权限不足而造成启动失败。检查应用程序及其所在目录的安全属性,必要时给予适当读取/写入访问权给用户账户控制(UAC)[^2]。 #### 5. CMake配置问题 如果是通过CMake管理项目的场景下,请注意指定正确的Qt安装位置作为输入参数之一。具体来说就是应该指向类似于 `C:/Qt/5.14.1/msvc2017_64/lib/cmake/Qt5` 的路径以便于找到对应的模块定义文件(.cmake),从而让CMake能够顺利定位其余组件的位置[^3]。 ```bash # 使用命令行调用 windeployqt 收集依赖项 windeployqt --qmldir path/to/qml/files your_application.exe ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值