Qt C++运行项目exe文件时如何禁用conhost.exe控制台窗口
Qt发布版禁用调试控制台的解决方案
你之前添加的CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT仅作用于禁用qDebug()、qInfo()等Qt调试输出函数的内容打印,不会对控制台窗口本身的显示产生影响,因此无法达到隐藏控制台的效果,可按以下步骤操作实现需求:
- 修改项目
.pro文件配置
先移除全局配置中的CONFIG += console条目,再新增针对release版本的专属配置:CONFIG(release, debug|release) { # 移除控制台属性 CONFIG -= console # 标记为桌面窗口应用 CONFIG += windows # 按编译器类型添加对应链接参数 win32-msvc* { QMAKE_LFLAGS_RELEASE += /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup } win32-g++ { QMAKE_LFLAGS_RELEASE += -Wl,-subsystem,windows } } - 清空旧构建缓存
修改.pro文件后必须执行重新qmake操作,再对项目执行全量重新构建,避免旧配置缓存残留导致修改不生效。 - 验证运行效果
重新生成的release版exe运行时会直接加载程序主窗口,不会额外弹出调试控制台。
内容的提问来源于stack exchange,提问作者Olaf Dalach
相关产品推荐
相关产品推荐

