我经常使用log4cplus,但我遇到了一个新问题。
我有一个使用动态链接库(LoadLibrary)的windows应用程序
它们构建在不同的编译器上,但使用相同名称的dll(包括log4cplus.dll)也构建在不同的编译器上。该应用程序及其使用的所有all都是在一个环境(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,但仍然收到相同的错误。
发布于 2016-04-03 01:59:28
首先,对所有东西使用相同的编译器。当使用不同的编译器版本时,基本上不可能让事情正常工作。一旦你用相同的编译器编译了所有的东西,试着解决其他问题,如果还有任何问题的话。
https://stackoverflow.com/questions/36362093
复制相似问题