C++BUILDER6下編譯log4cpp-0.2.8手記
log4cpp是一個非常不錯的開源項目,但是現有的Release版本中安裝程式都存在有問題,導致在編譯時間不能順利完成。在C++BUILDER6中編譯最新版的log4cpp-0.3.5rc2時存在的問題非常嚴重,很多檔案都缺少標頭檔,在經過大量的對原始碼的修改後仍然無法順利編譯。因此,選擇了低版本的log4cpp-0.2.8來進行編譯,解決了編譯過程中存在的種種問題後,終於搞定了。以下是編譯步驟:
1,解壓到任意一個目錄,這裡假定為c://log4cpp-0.2.8
2,啟動C++BUILDER6開啟工程檔案c://log4cpp-0.2.8//bcb5//log4cpp//log4cpp.bpr,然後工程檔案從 bcb5.0自動轉換到bcb6.0。不要試圖開啟項目組bpg檔案,那個檔案有問題。
3,開啟Priority.cpp在namespace外面添加包含標頭檔#include <stdlib.h>
OK,下面就可以編譯了,編譯成功後有兩個Warning,不用管它,可以直接使用了。
上面是根據log4cpp內建的BCB工程檔案進行編譯的,最終產生的檔案是一個DLL檔案,這就意味著在你使用log4cpp的時候,必須要帶上這個DLL檔案,有時候就感覺很煩。下面,我們將對log4cpp做個小手術,使之編譯出lib檔案,這樣,使用log4cpp的程式就可以使用靜態連結的方式了。
1,在c://log4cpp-0.2.8//bcb5目錄下建立一個目錄log4cpplib
2,啟動C++BUILDER,建立一個新的Library工程,名子為log4cpplib,儲存在剛剛建立的目錄中。
3,將C:/log4cpp-0.2.8/src下的所有CPP檔案添加到此工程中。
4,在工程屬性中添加檔案包含路徑:c://log4cpp-0.2.8//include
5,在Project->Options->TLib面板上將Page size由0x0010改為0x0100
OK,準備工作做好了,編譯通過,到log4cpplib目錄下面看看,是不是多了一個大小為3M的lib檔案:),由了它,你就可以靜態連結了。