Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cout does no print in QtCreator

Tags:

c++

stdout

cout

qt

I saw this question already on this forum but I do not know why the proposed answer does not work in my case. So I try to ask for other slution.

I just got my Qt creator running under Linux.

I do not understand why my:

cout << "This does not appear";

Does not print in console while qdebug does

qDebug() << "This appears";

This is what is contained in my .pro file:

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

Any idea?

like image 601
Stefano Avatar asked Sep 27 '11 08:09

Stefano


4 Answers

When debugging with CDB (Windows debugger) and running application not in the dedicated terminal window, but within QtCreator output panel, there is an issue with std::cout/std::cerr. qDebug works because it has a trick for this case. So, the only solution in this case is enable the "run in terminal" option. For more infor please follow the link above to the Qt bug tracker.

like image 89
Alex Maystrenko Avatar answered Oct 15 '22 14:10

Alex Maystrenko


Try with:

cout << "asdf" << endl;

Possibly Qt sets up iostream in order to flush only at new line.

like image 41
robermorales Avatar answered Oct 15 '22 13:10

robermorales


Is it possible that STDOUT is redirecting? qDebug prints to STDERR by default.

like image 1
spraff Avatar answered Oct 15 '22 12:10

spraff


Did you #include <iostream>? I did not see any includes in the code. I assume that qdebug and cout are very similar.

like image 1
Steve Volkmen Avatar answered Oct 15 '22 13:10

Steve Volkmen