今天写了个调试日志类,写好后生成调试,如果出现了如下错误:
error C2143: 语法错误 : 缺少“;”(在“CHelloWorldApp::AppDllUid”的前面)仔细检查后发现在.h头文件中的类声明结束时忘了写";"了,添上后编译程序通过.
程序代码
Log.h文件/*============================================================================ Name : Log.h Author : guopeng Version : Copyright : QYTX Description : Log.h - header file============================================================================*/
#ifndef LOG_H#define LOG_H
#include <e32base.h>#include <flogger.h>
// CLASS DECLARATIONclass CLog:public CBase{public : CLog(); ~CLog(); void ConstructL();
public : static void WriteLog(const TDesC &aMsg);
private: static CLog* NewL();}
#endif // LOG_H// End of File
Log.cpp文件/*============================================================================ Name : Log.cpp Author : guopeng Version : Copyright : QYTX Description : Log.cpp - source file============================================================================*/
// INCLUDE FILES// Class include#include "Log.h"
CLog* CLog::NewL(){ CLog* self = new (ELeave) CLog(); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); return self;}
void CLog::ConstructL(){
}
CLog::CLog(){}
CLog::~CLog(){}
void CLog::WriteLog(const TDesC & aMsg){ RFileLogger iLog; iLog.Connect(); iLog.CreateLog(_L("test"),_L("log.txt"),EFileLoggingModeAppend); iLog.Write(aMsg); iLog.CloseLog(); iLog.Close();}
// End of File
写日志语句如下:CLog::WriteLog(_L("aaaa"));
注:使用日志之前,确保日志文件存在,且路径正确.模拟器上使用log在目录/epoc32/wins/c/logs下创建目录test,并在下面创建文件log.txt在手机上使用log1在pkg文件的同级目录创建文件log.txt2需要在pkg文件中加入".log.txt"-"c:/logs/log.txt"-目的是创建一个文件夹.你可以用fileman等工具打开查看这个文件。或者将它传到pc上分析。
