1. log4cpp1.0僅提供了vc6的工程文件,使用vs2008(VS2005)打開工程并進行轉換
2. 直接編譯log4cppDLL, 提示Custom Build Step時出現錯誤:
因為log4cpp在生成NTEventLogAppender.dll時,需要連接NTEventLogCategories.mc文件。 所以,項目設置了自定義的生成步驟去生成NTEventLogAppender.dll。但從vc6的工程文件轉換時,這些步驟卻沒有正確的轉換過來。
3. 重新填寫Custom Build Step項:(右鍵->工程屬性->選擇自定義生成步驟)
if not exist $(OutDir) md $(OutDir)
"mc.exe" -h $(OutDir) -r $(OutDir) $(SolutionDir)NTEventLogCategories.mc
"RC.exe" -r -fo $(OutDir)\$(InputName).res $(ProjectDir)\$(InputName).rc
"link.exe" /MACHINE:IX86 -dll -noentry -out:$(OutDir)\NTEventLogAppender.dll $(OutDir)\$(InputName).res
4. 在(右鍵->工程屬性->選擇自定義生成步驟)Outputs填寫:$(OutDir)\NTEventLogAppender.dll
5. 繼續編譯, 再次報錯, 連接失敗, 找不到符號
因為工程沒有包含源文件: FactoryParams.cpp & Localtime.cpp
6. 手動添加上述兩個文件到工程, 重新編譯通過, 并生成log4cpp.dll