我经常使用log4cplus,但我遇到了一个新问题。
我有一个使用 dll (LoadLibrary) 的 Windows 应用程序
它们建立在不同的编译器上,但使用同样名称的 dll(包括 log4cplus.dll)也建立在不同的编译器上。该应用程序及其使用的所有 dll 都构建在一个环境中(vs2008)。dll 和它使用的所有 dll 都建立在另一个环境(vs2013)上。
LoadLibrary 失败,直到我更改应用程序以将 LOAD_WITH_ALTERED_SEARCH_PATH 标志传递给 LoadLibraryEx,这似乎允许 dll 成功加载自己的依赖项,但现在我收到这些运行时错误
log4cplus:ERROR PropertyConfigurator::configureAppenders()- Cannot find AppenderFactory: log4cplus::RollingFileAppender
log4cplus:ERROR PropertyConfigurator::configureAppenders()- Cannot find AppenderFactory: log4cplus::ConsoleAppender
log4cplus:ERROR PropertyConfigurator::configureLogger()- Invalid appender: ROLLING
日志记录适用于在任一环境中构建的所有应用程序。日志记录也适用于在同一环境中构建的此应用程序和 dll。我将 dll 更改为静态链接 log4cplusS.lib,但仍然遇到相同的错误。