一)解壓下載的log4c-1.2.4.tar.gz源碼,進入文件夾中,打開README,編譯的過程能夠按照裏面的流程linux
$mkdir build; $cd build $../log4c-1.2.4/configure --prefix=/path/of/installation $make $make install
假如咱們要安裝的目錄爲/home/abc/a,則上面第三句則爲shell
$../log3c-1.2.4/configure --prefix=/home/abc/a
若是你是爲了在其餘平臺運行的話,好比ARM平臺,則能夠用以下指令app
$../log3c-1.2.4/configure --prefix=/home/abc/a --host=arm-linux --without-expat
沒加without--expat的話要在你的電腦安裝適於交叉環境的expat才能正常編譯。 ui
這樣執行出來的結果是多了一個build目錄,這裏面不只包含了Makefile文件,還包含了example生成的可執行文件,另外還在/home/abc/a下多了安裝的log4c等文件,包含了運行庫lib,頭文件等.這個是本身編寫程序運行的關鍵部分.debug
二)若是你只是想運行一個example下的文件的話,能夠運行build中的example中的可執行文件,日誌的輸出配置是在log4crc中配置的,不用去修改example中的C語言源碼再從新編譯,從這個角度出現的話,能夠體會一下log4crc配置日誌代碼的功能.
日誌
三)下面介紹的是用學有源碼example中的helloworld.c爲咱們的主文件,編譯可執行的文件.通常一個具體的有日誌功能的工程包含下面幾類文件:code
1)用戶自定義c語言源文件,*.c與*.h
ci
2)log4c運行庫文件與依賴頭文件,這個看你我的存放的目錄,像我以前的目錄就是/home/abc/a中,裏面的文件有
get
咱們程序要用到的是lib中的動態連接庫和include中的文件.源碼
3)log4crc文件,這個是配置輸出的日誌的格式等,通常一個最簡單的可編譯文件下最少有一個.c文件和一個log4crc文件.
在該目錄下打開終端,輸入以下開始編譯
gcc -g -Wall -O0 helloworld.c -o helloworld -L/home/abc/a/lib -llog4c -I/home/abc/a/include
這樣就會編譯與功了.
4)修改一下log4crc文件,其餘大部分的log4crc文件都是相似的,你能夠打開文件,看有沒有如下三句,若是沒有的話,添加進去,有的話能夠不會,可能有添加的是第一行.
<category name="log4c.examples.helloworld" priority="debug" appender = "stdout"/> <appednder name="stdout" type="stream" layout="basis"/> <layout name="basic" type="basic"/>
5)運行程序
./helloworld
會輸出以下的信息:
[stdout] ERROR log4c.examples.helloworld - Hello World!
到此,咱們的編譯就自算完成了,其餘的應用也是在這樣的環境中添加更多的功能.祝各位好運.
附:Helloworld.c的程序
#ifdef HAVE_CONFIG_H #include "config.h" #endif #include <stdio.h> #include "log4c.h" int main(int argc, char** argv){ int rc = 0; log4c_category_t* mycat = NULL; if (log4c_init()){ printf("log4c_init() failed"); rc = 1; }else{ mycat = log4c_category_get("log4c.examples.helloworld"); log4c_category_log(mycat, LOG4C_PRIORITY_ERROR, "Hello World!"); /* Explicitly call the log4c cleanup routine */ if ( log4c_fini()){ printf("log4c_fini() failed"); } } return rc; }