我已经在这个论坛上看到这个问题了,但是我不知道为什么这个答案对我不起作用,所以我试着问其他的答案。
我刚刚让我的Qt创建器在Linux下运行。
我不明白为什么我:
cout << "This does not appear";
在控制台中不打印,而qdebug打印
qDebug() << "This appears";
这是包含在我的. pro文件:
QT += core gui
TARGET = aaa
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
IeplcModule.cpp
HEADERS += mainwindow.h \
IeplcModule.h
FORMS += mainwindow.ui
#enable console
CONFIG += console
你知道吗?
6条答案
按热度按时间fdx2calv1#
尝试:
Qt可能设置iostream以便仅在新行刷新。
5kgi1eie2#
当使用CDB(Windows调试器)进行调试,并且不在专用终端窗口中运行应用程序,而是在QtCreator输出面板中运行应用程序时,issue与
std::cout/std::cerr
。qDebug工作正常,因为它对这种情况有一个技巧。因此,这种情况下唯一的解决方案是启用“在终端中运行”选项。有关更多信息,请访问上面的Qt错误跟踪器链接。6qftjkof3#
默认情况下,STDOUT是否可能将?qDebug打印重定向到STDERR。
vlju58qv4#
你有
#include <iostream>
吗?我没有看到任何包含在代码中。我假设qdebug
和cout
非常相似。kmb7vmvb5#
请确保在
.pro
文件中启用了console
配置,即:mpgws1up6#
您可以从CMD运行此程序,它将向控制台打印一些消息: