Qt Creator编译正常无法运行调试,手动启动程序正常问题求助
Qt Creator 构建成功但无法运行/调试问题解决方案
控制台报错日志:
17:06:23: Starting E:\Code\Clion\CadenceLibQML\CadenceLibQML\build-CadenceLibQML-Desktop_Qt_6_2_0_MinGW_64_bit-Debug\CadenceLibQML.exe ... 17:06:23: The program ends abnormally 17:06:23: The process was ended forcefully. 17:06:23: E:\Code\Clion\CadenceLibQML\CadenceLibQML\build-CadenceLibQML-Desktop_Qt_6_2_0_MinGW_64_bit-Debug\CadenceLibQML.exe crashed.
该问题的核心诱因是Qt Creator运行程序时的环境与系统资源管理器运行时的环境存在差异,可按以下优先级排查修复:
1. 修正运行工作目录配置
- 打开Qt Creator左侧「项目」标签,切换到当前使用的Qt 6.2 MinGW 64bit构建套件的「运行」选项卡
- 核对「工作目录」参数,确保其与exe生成目录完全一致,默认生成目录为
build-CadenceLibQML-Desktop_Qt_6_2_0_MinGW_64_bit-Debug,若配置不一致直接修改为对应路径即可
2. 补全运行环境变量
- 同样在「运行」选项卡的「环境」配置区,检查PATH变量是否包含spdlog、sql相关依赖库的dll所在路径
- 系统手动运行时会自动读取exe同目录、系统全局PATH下的dll文件,但Qt Creator默认使用独立的环境变量配置,可能缺失第三方库路径
- 修复方案二选一:将依赖库的dll文件复制到exe生成目录,或在Qt Creator的PATH变量中新增依赖库的所在路径
3. 排查第三方库初始化冲突
- 临时注释.pro/CMakeLists.txt中spdlog、sql相关库的引入配置,重新构建后测试是否可正常运行
- 若注释后恢复正常,可确认是库的静态初始化逻辑与Qt Creator运行环境存在冲突,重点排查库的全局初始化代码段
4. 校验构建套件兼容性
- 当前使用的是MinGW 64bit构建套件,而Qt Creator本身为MSVC 2019 64bit编译版本,可尝试切换到MSVC 2019 64bit的Qt 6.2构建套件重新编译测试,排除套件兼容问题
5. 定位具体崩溃点
- 在main函数最开头加入断点,或使用WinDbg附加到Qt Creator启动的进程,捕获崩溃调用栈,定位具体触发崩溃的代码位置
内容的提问来源于stack exchange,提问作者diyhome
相关产品推荐
相关产品推荐

