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

QBS构建的QML Qt应用Windows部署:QML调试提示无法关闭

解决QBS构建QML应用部署后弹出QML调试提示的问题

我来帮你梳理下问题的核心和解决步骤——你遇到的问题本质是QBS构建系统的QML调试配置逻辑和QMake不一样,参照QMake的教程自然不会生效,和编译器(MSVC/MinGW)无关,下面是具体的解决方法:

1. 修正QBS项目的QML调试配置

Qt Creator里针对QBS项目的QML调试开关和QMake不在同一个位置:

  • 打开项目的「Build Settings」,切换到Release构建配置
  • 在QBS的配置搜索框里输入qmlDebugging,把对应的选项设置为false
  • 更稳妥的方式是直接在你的.qbs项目文件中手动添加配置,在Product节点下加入:
    Qt.core.qmlDebugging: false
    
    这样能确保所有构建配置都统一关闭QML调试,不会出现debug/release配置不一致的情况。

2. 彻底清理构建缓存后重新构建

旧的构建缓存很容易导致新配置不生效,别只点Qt Creator的「Clean」,建议:

  • 点击「Build -> Clean All」
  • 手动删除项目的整个build目录(就是Qt Creator里显示的Build Directory对应的文件夹)
  • 重新构建Release版本,再用windeployqt打包依赖

3. 验证windeployqt的打包对象

确保你用windeployqt处理的是刚构建好的Release版本exe,不是之前带调试信息的旧文件。可以先直接运行构建目录里的Release版exe,看是否还会弹出提示,再进行打包。

4. 确认QML调试是否真正关闭

如果还是有疑问,可以用Qt自带的qtdiag.exe工具验证:

  • 找到你Qt安装目录下的bin/qtdiag.exe
  • 在命令行运行:qtdiag.exe 你的example.exe路径
  • 查看输出内容,确认是否存在QML Debugging: Enabled的标识,如果显示Disabled就说明配置生效了

为什么参照QMake教程没用?因为QMake是通过CONFIG -= qml_debug来关闭QML调试,而QBS用的是qmlDebugging这个专属属性,两者的配置逻辑完全独立,所以之前的设置根本没作用。

内容的提问来源于stack exchange,提问作者David-EL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:14:19