Eclipse qDebug和cout don';行不通
我有这个简单的代码Eclipse qDebug和cout don';行不通,eclipse,qt,cout,qdebug,Eclipse,Qt,Cout,Qdebug,我有这个简单的代码 #include <QtCore/qdebug.h> #include <QtCore/qcoreapplication.h> #include <iostream> using namespace std; int main(int argc, char **argv) { cout << "pluto" << endl; QCoreApplication app(argc, argv);
#include <QtCore/qdebug.h>
#include <QtCore/qcoreapplication.h>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "pluto" << endl;
QCoreApplication app(argc, argv);
qDebug() << "pippo" << endl;
return app.exec();
//return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv)
{
cout对于cout
要在Windows上工作,您需要在.pro
文件中有。它不应该对任何其他平台有任何影响,所以您可以将它添加到那里。如果您只想将qmake条件用于调试生成或其他内容,可以使用qmake条件,或者您可以将它作为命令行选项传递给qmake,如果这对您的用户更方便的话工作流程:
qmake ...other args... CONFIG+=console
在Windows下,默认情况下,qDebug()
输出将转到Windows调试日志。您可以通过两种方式获得它:
- 使用IDE或单机版等应用程序
- 在程序代码中使用,捕获调试输出,并对其执行所需操作,例如使用
cout
打印和/或记录
如果您真的需要在输出上使用它,您可以尝试使用QTextSteam:
#include <QTextStream>
QTextStream cout(stdout);
cout << "string\n";
QTextSteam cerr(stderr);
cerr << "error!\n";
#包括
QTextStream cout(stdout);
在Windows上,qDebug使用调试通道。qInstallMessageHandler
是关键。这不会改变任何事情。不管你在它周围放了什么API,它都会转到stdout/stderr。@FrankOsterfeld是的,但至少它会在控制台上打印消息。