QT 程序独立运行时,出现CMD窗口,如何消除

DreamLife.
Qt领域优质创作者
博客专家认证
2015-01-14 04:08:14
使用Qt写了一个软件,需要将软件打包,
所以将软件release。将需要的库文件都配置完成后,可以运行,但是显示xindows的cmd窗口
如图
希望大神们给点方法
...全文
4467 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
diwufeiwen 2018-10-19
  • 打赏
  • 举报
回复 1
你这不行,报错else
天涯学馆 2016-06-20
  • 打赏
  • 举报
回复
我用了你的方法 还是不行啊

QT       += core gui

QT       += network

QT       += testlib

CONFIG += release
Win32:CONFIG(debug, debug|release){
    TARGET = debug_binary
}else{
    TARGET = release_binary
}

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
DreamLife. 2015-01-16
  • 打赏
  • 举报
回复
引用 6 楼 dbzhang800 的回复:
[quote=引用 5 楼 z609932088 的回复:] [quote=引用 4 楼 dbzhang800 的回复:] [quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果[/quote] 把你的pro贴出来看看[/quote] 我自己解决了,我看到的是说如果dubug和release同时存在,只有debug有效 所以我改了config代码 CONFIG += release Win32:CONFIG(debug, debug|release) { TARGET = debug_binary } else { TARGET = release_binary } 就解决了 多谢你给我的意见,我才能去了解Qt的pro文件 附上我的pro全部文件 QT += core gui QT += sql QT += multimedia QT += axcontainer CONFIG += release Win32:CONFIG(debug, debug|release) { TARGET = debug_binary } else { TARGET = release_binary } greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = Butler TEMPLATE = app 后面的就是常见的,有点多,就不贴了
dbzhang800 2015-01-16
  • 打赏
  • 举报
回复
引用 5 楼 z609932088 的回复:
[quote=引用 4 楼 dbzhang800 的回复:] [quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果[/quote] 把你的pro贴出来看看
DreamLife. 2015-01-16
  • 打赏
  • 举报
回复
引用 4 楼 dbzhang800 的回复:
[quote=引用 3 楼 z609932088 的回复:] 我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件[/quote] 我的软件全部都是用Qt 写的,没有用到其他的,我看了pro文件,也没有找到CONFIG += console 看网上有一段代码 Win32:CONFIG(debug, debug|release):CONFIG += console,但是也唯有效果
dbzhang800 2015-01-16
  • 打赏
  • 举报
回复
引用 3 楼 z609932088 的回复:
我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
你应该找出你为什么启用了 CONFIG += console ,而不是去修改生成的中间文件
DreamLife. 2015-01-15
  • 打赏
  • 举报
回复
我查看了release的mikefile文件 LFLAGS = -Wl,-s -Wl,-subsystem,console -mthreads 我是不是把console 删掉就可以了
dbzhang800 2015-01-14
  • 打赏
  • 举报
回复
在Windows下,用其他的编译器 ,比如MinGW,Intel-c++ 或其他的IDE,比如 QtCreator 。结果都是一样:有还是没有cmd窗口,取决于链接的是 windows子系统还是console子系统。 在QtCreator中,在qmake构建系统下, CONFIG += console 用于选择console子系统, 另外使用QtTest模块的话,会选择console子系统(不过这不应该成为问题,毕竟QtTest是测试用的,在正常的程序中是不会使用的)
liuyuanmei 2015-01-14
  • 打赏
  • 举报
回复
如果你使用vs工具开发的,那你就选择你的应用程序工程,右击选择属性,在属性窗口中展开“连接”,再选择“系统”,在子系统中选择“Windows (/SUBSYSTEM:WINDOWS)”后保存即可。

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧