【发布时间】:2015-08-13 10:46:36
【问题描述】:
我有一个 MyLogger 类,它将处理所有的日志记录活动。因此我尝试使用这个example
所以我的来源是:
MyLogger::MyLogger(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyLogger)
{
ui->setupUi(this);
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
qInstallMessageHandler(myMessageOutput);
#else
qInstallMsgHandler(myMessageOutput);
#endif
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
void myMessageOutput(QtMsgType type, const QMessageLogContext &, const QString & str)
{
const char * msg = str.toStdString().c_str();
#else
void myMessageOutput(QtMsgType type, const char *msg)
{
#endif
switch (type)
{
case QtDebugMsg:
fprintf(stderr, "Debug: %s\n", msg);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s\n", msg);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s\n", msg);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s\n", msg);
abort();
}
}
然后我得到一个:
错误:“myMessageOutput”未在此范围内声明
qInstallMessageHandler(myMessageOutput);
【问题讨论】: