我正在用Qt Creator编写一个简单的OpenGL程序,它基本上创建了一个QGLWidget,显示它并运行应用程序循环。我通常喜欢通过使用实际调试器和手表等的预处理器符号打开和关闭诊断消息来调试更多。在Qt Creator中,我们有一个名为应用程序输出的选项卡,但我看到的只有“启动xxx.exe。xxx.exe退出,代码为0”。 std::cout
或std::cerr
无输出。现在我知道我可以从cmd.exe启动我的应用程序(是的,我正在使用Windows,喜欢它:P)并在那里看到输出,但我希望我可以直接从IDE看到输出。那可能吗?感谢
答案 0 :(得分:8)
通常应用程序输出窗格正常工作。你确定你会看到 cmd.exe 的输出(你真的试过吗?)?通常关闭UI应用程序以避免控制台窗口弹出。试试CONFIG += console
。另请检查应用程序输出中是否显示 qDebug()消息。
答案 1 :(得分:5)
只是#include <QDebug>
然后使用qDebug
代替cout
qDebug() << "you just clicked ok";
这也有效
#include <QTextStream>
QTextStream out(stdout);
out << "\nHello World!\n";
在.pro文件中添加CONFIG += console
对我不起作用。我想知道为什么?
我刚刚发现我要添加“endl”;让cout像
一样工作cout << "print this" << endl;
答案 2 :(得分:3)
或者,您可以在Project-&gt; Run选项中查看“在控制台中运行”设置。这将打开一个新的控制台窗口并在那里显示所有控制台输出(如果当然使用CONFIG += console
)。
答案 3 :(得分:2)
尝试: 工具 - &gt;选项 在“环境”的“常规”选项卡下,从以下位置更改终端条目:
x-terminal-emulator -e
到
xterm -e
答案 4 :(得分:0)
我知道这个答案没有回答最初的问题,但是因为在搜索“无应用程序输出”时我们找到了这个答案......
请参阅以下答案:https://stackoverflow.com/a/26325743/808101
这仅适用于 qDebug() 和类似函数(不直接输出到 stdout/stderr)。
就我而言,我必须在 QtCreator 中将 QT_ASSUME_STDERR_HAS_CONSOLE
环境变量设置为 1
才能在“应用程序输出”窗口中查看 qDebug() 消息。