glog下載的源碼https://github.com/google/glog配合cmake進行編譯
\glog-master\src\windows 將此目錄下的 glog文件夾拷貝到當前工程目錄下
#include "glog/logging.h"
#if _DEBUG
#pragma comment(lib, "glog/glogd.lib")
#else
#pragma comment(lib, "glog/glog.lib")
#endif
#define LOG_INFO LOG(INFO)
#define LOG_WARNING LOG(WARNING)
#define LOG_FATAL LOG(FATAL)
#define LOG_ERROR LOG(ERROR)
void main()
{
google::InitGoogleLogging("Game"); //參數爲自己的可執行文件名
FLAGS_log_dir = csPath; // log路徑
FLAGS_logbufsecs =0; //緩衝日誌輸出,默認爲30秒,此處改爲立即輸出
FLAGS_stop_logging_if_full_disk = true; //當磁盤被寫滿時,停止日誌輸出
FLAGS_max_log_size =100; //最大日誌大小爲 100MB
LOG_INFO << "初始化成功.";
google::ShutdownGoogleLogging();
}
這個時候編譯還是會錯
錯誤 LNK2001 無法解析的外部符號 "__declspec(dllimport) public: __thiscall google::LogMessage::LogMessage(char const *,int,int)" (__imp_??0LogMessage@google@@QAE@PBDHH@Z) jfzrcalltest F:\android_game\game\jfzrcalltest\GameToClient.obj 1
在預處理定義中添加
GLOG_NO_ABBREVIATED_SEVERITIES
GOOGLE_GLOG_DLL_DECL=
即可解決編譯錯誤問題