我有这个简单的代码
#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;
}
我在Eclipse中使用MinGw编译了它,没有任何错误,但当我运行代码时,控制台上不会出现字符串消息。怎么了?谢谢
Luca
要使cout
在Windows上工作,需要在.pro
文件中包含CONFIG+=console
。它不应该对任何其他平台产生任何影响,所以你可以在那里添加它。如果您只想将qmake条件用于调试构建或其他用途,则可以使用它。,或者您可以将其作为命令行选项传递给qmake,如果这对您的工作流程更方便的话:
qmake ...other args... CONFIG+=console
在Windows下,默认情况下,qDebug()
输出将进入Windows调试日志。你可以通过两种方式获得:
- 使用诸如IDE或Microsoft的独立DebugView工具之类的应用程序
- 在程序代码中使用qInstallMessageHandler Qt函数,获取调试输出,并使用它执行您想要的操作,例如使用
cout
打印和/或记录它
如果你真的需要在输出中使用它,你可以尝试使用QTextSteam:
#include <QTextStream>
QTextStream cout(stdout);
cout << "stringn";
QTextSteam cerr(stderr);
cerr << "error!n";