當前位置:首頁 » 編程軟體 » log4cpp編譯

log4cpp編譯

發布時間: 2023-04-24 05:53:00

⑴ 為什麼log4cpp怎麼就編譯不過

Log4cxx需要依賴於APR。Log4cpp較log4c移植性稍差些。Log4c基本上都是一些純c的東西閉彎猜,移植性比其他二轎型者都要好log4cplus: 簡潔, 下載的包編譯順利, 測試例子也能鬧宏順利運行。log4cxx: 臃腫, 需要引用apr(Apache Portable Runtime), 最痛苦的是老是編譯不了。log4cpp: 落後, 最後更新於2007年,而且下載的包不完整。

⑵ Log4cpp的下載安裝

2.1 下載
下載版本0.3.5rc3,這個版本目前是最穩定的,版本1.0在VC中表現不穩定。下載後的包名字為:log4cpp-0.3.5rc3.tar.gz(源代碼包)和log4cpp-docs-0.3.5rc3.tar.gz(文檔壓縮包)。將它們解壓後放入D盤。
2.2 在VC6中編譯Log4cpp
進入D:log4cpp-0.3.5rc3msvc6目錄,打開VC6的工作區msvc6.dsw,將其中的工程都刪除,只保留log4cpp和log4cppDLL兩個工程。分別編譯它們的Debug和Release版本。
在VC6中編譯Log4cpp會報錯,其實只有一個錯誤,即不能在頭文件中定義變數,同時給變數賦默認值。修改方法如下:將頭文件Priority.hh中的這一行:
static const int MESSAGE_SIZE = 8;
改為:
static const int MESSAGE_SIZE;
並在Priority.cpp中的所有include語句後加上:const int log4cpp::Priority::MESSAGE_SIZE = 8;
編譯鏈接成功後會得到log4cppD.dll、log4cppD.lib(Debug版的dll和lib文件)和log4cpp.dll、log4cpp.lib(Release版的dll和lib文件)。新建目錄D:log4cpp-0.3.5rc3lib,將以上四個文件拷貝到該目錄下。在VC中添加設置lib和include路徑。
將D:log4cpp-0.3.5rc3lib加入系統的Path路徑中。

⑶ Log4cpp的優點

Log4cpp是個基於LGPL的開源項目,移植自Java的日誌處理跟蹤項目log4j,並保持了API上的一致。其類似的支持庫還包括Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。
Log4cpp有如下優點:
1. 提供了可擴展的多種日誌記錄方式;
2. 提供了NDC(嵌套診斷上下文),可用於多線程、多場景的跟蹤調試;
3. 提供了完整的日誌動態優先順序控制,可隨時調整需要記錄的日誌優先順序;
4. 可通過配置文件完成所有配置並動態載入;
5. 性能優秀,內存佔用小,經過編譯後的log4cpp.dll大小僅有160kb;
6. 代碼級的平台無關性,Log4cpp源代碼經過編譯後,適用於大多數主流的操作系統和開發工具;
7. 概念清晰,學習和使用方便,熟練程序員一天之內即可很好地應用log4cpp進行開發

⑷ log4cpp,log4cplus,log4cxx這幾個包之間是什麼關系

Log4cxx需要依賴於APR。
Log4cpp較log4c移植性稍差些。
Log4c基本上都是一些純c的東西,移植性比其他二者都要好
log4cplus: 簡潔, 下載的包編譯順利, 測試例子也能順利運行。
log4cxx: 臃腫, 需要引用apr(Apache Portable Runtime), 最痛苦的是老是編譯不了。
log4cpp: 落後, 最後更新於2007年,而且下載的包不完整。

linux上編譯log4cpp1.0包時出現錯誤。

出這個問題不應該,我懷疑你的這個程序源代碼和你當前用的系統發布時間差距太大,導致這個命令執行有問題。
或者就是某些腳本的語法已經變了。你用錯 shell 解釋器了
——————————————————————————
你的 configure 參數有問題?你最好能貼出全部的命令和輸出。

陳學陽 那傻-逼就是刷子。我見到他好幾次發根本沒意義的內容了,他現在都刷的快比我等級高了。我都懶的在認真回答問題了。網路那群腦殘也不管管。網路這么大的網站還需要這么多垃圾水貼充門面?

⑹ C++編寫Windows服務程序中調用Log4cpp產生日誌問題

log4CPlus

我用的是這個螞腔孝,很好用,封裝可參考網頁,路徑輸出什麼的只圓枯需改改配置文件,無需重新編譯代碼。看樣子你有基礎悶稿的,相信你可以看懂。

⑺ Log4cpp的編譯方法

讓我們從一個簡單的例子開始,該例子將兩條日誌信息寫入字元串流,該流會在標准控制台cout上輸出,項目的名稱是HelloLog4Cpp:
#include <iostream>
#include log4cpp/Category.hh
#include log4cpp/OstreamAppender.hh
#include log4cpp/BasicLayout.hh
#include log4cpp/Priority.hh
using namespace std;
int main(int argc, char* argv[])
{
log4cpp::OstreamAppender* osAppender = new log4cpp::OstreamAppender(osAppender, &cout);
osAppender->setLayout(new log4cpp::BasicLayout());
log4cpp::Category& root = log4cpp::Category::getRoot();
root.addAppender(osAppender);
root.setPriority(log4cpp::Priority::DEBUG);
root.error(Hello· log4cpp in a Error Message!);
root.warn(Hello ·log4cpp in a Warning Message!);
log4cpp::Category::shutdown();
return 0;
}
要順利編譯運蘆兄伏行還有兩個地方需要設置,其一是引入的庫中加上log4cppD.lib(debug版dll庫的引入文件),即在頭文件處加上陪攜#pragma comment(lib, log4cppD.lib);其二是塵拍將C/C++的Code Generation中的Use Runtime library設置為「Debug Multithreaded DLL」。設置完成後編譯運行結果如下:
1248337987 ERROR : Hello· log4cpp in a Error Message!
1248337987 WARN : Hello· log4cpp in a Warning Message!
以上兩條日誌格式很簡陋,要設置合乎心意的日誌格式,請參考後續的PatternLayout章節。

熱點內容
配置管理需要會什麼 發布:2025-07-14 01:35:35 瀏覽:372
去除頭條中的緩存 發布:2025-07-14 01:27:38 瀏覽:783
php開啟錯誤 發布:2025-07-14 01:16:49 瀏覽:998
esp資料庫 發布:2025-07-14 01:16:44 瀏覽:980
python查找文件路徑 發布:2025-07-14 01:16:03 瀏覽:514
phpapachetomcat 發布:2025-07-14 01:08:41 瀏覽:123
伺服器運維看什麼書 發布:2025-07-14 01:07:32 瀏覽:988
密碼器動態密碼怎麼弄 發布:2025-07-14 00:44:27 瀏覽:386
小米怎麼把視頻加密 發布:2025-07-14 00:42:59 瀏覽:406
在線申訴找回密碼根本什麼都沒有 發布:2025-07-14 00:41:22 瀏覽:306