Qt Creator中控制台无输出的问题解决

本文介绍了解决QtCreator创建纯C++项目后,在Ubuntu 12.04环境下控制台无法显示HelloWorld的问题。通过修改QtCreator设置中的终端模拟器,将x-terminal-emulator-e替换为xterm-e即可解决。

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

本人ubuntu 12.04下用Qt Creator建立一个纯c++语言项目后,直接运行,发现控制台并无"Hello World“输出。上网查了一下才知原来这是qt的一个bug。


解决方法很简单:

 Qt Creator 中 工具---选项---环境---概要---系统下,x-terminal-emulator -e换成 xterm -e 即可。

### 配置CMake以禁用Qt应用程序启动时的控制台窗口 对于基于CMake和Qt的应用程序,可以通过设置特定属性来防止在Windows平台上显示不必要的控制台窗口。当创建GUI应用而非命令行工具时,这一步骤尤为重要。 为了实现这一点,在`CMakeLists.txt`文件中定义项目时应指定`WIN32_EXECUTABLE`选项为真值[^1]: ```cmake add_executable(${PROJECT_NAME} WIN32 ${SOURCE_FILES}) ``` 此配置告知编译器该可执行文件是一个图形界面程序而不是控制台程序,从而避免了额外的终端窗口弹出。 另外一种方法是在调用`add_executable()`时不直接传递`WIN32`参数,而是在之后通过`set_target_properties()`函数单独设定这一特性: ```cmake add_executable(${PROJECT_NAME} ${SOURCE_FILES}) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE) ``` 这两种方式都能有效地阻止控制台窗口随同主程序一同出现。 对于Mac平台,则可以考虑使用`MACOSX_BUNDLE`标志位代替,但这不是当前问题所关注的重点。 ### 示例代码片段展示如何修改CMake脚本 下面给出一段完整的CMake最小化示例,展示了怎样正确地关闭控制台窗口: ```cmake cmake_minimum_required(VERSION 3.15) project(MyApp VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 COMPONENTS Widgets REQUIRED) add_executable(${PROJECT_NAME} WIN32 main.cpp) # 关键在于这里的WIN32关键字 target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets) ``` 上述代码确保生成的是一个不带有附加控制台窗口的标准Windows GUI应用程序。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值