我在这个论坛上已经看到了这个问题,但我不知道为什么建议的答案在我的案例中不起作用。所以我试着要求其他洗脱。
我是c ++ Qt编程的完整新手。 我刚刚让我的Qt crator在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
有什么想法吗?
干杯,
斯特凡诺
答案 0 :(得分:22)
尝试使用cout << "asdf" << endl;
可能Qt设置iostream以便仅在新线路上进行刷新。
答案 1 :(得分:1)
STDOUT是否可能重定向? qDebug prints to STDERR by default
答案 2 :(得分:1)
当使用CDB(Windows调试器)进行调试并且不在专用终端窗口中而是在QtCreator输出面板中运行应用程序时,将issue与std::cout/std::cerr
一起使用。
qDebug之所以有效,是因为在这种情况下它有一个窍门。
因此,在这种情况下,唯一的解决方案是启用“在终端中运行”选项。
有关更多信息,请单击上面的Qt错误跟踪器链接。
答案 3 :(得分:0)
你有#include <iostream>
吗?我没有在代码中看到任何包含。
我认为qdebug
和cout
非常相似。
答案 4 :(得分:0)
确保在console
文件中启用了.pro
配置。即:
CONFIG += console