2016-04-01 15 views
0

Düzenli olarak log4cplus kullanıyorum, ancak yeni bir sorunla karşılaştım.log4cplus, AppenderFactory'yi bulamıyor

Bir dll (LoadLibrary'ı)

Farklı derleyiciler üzerine inşa edilmiştir kullanan bir windows uygulaması var, ama aynı zamanda farklı derleyiciler üzerine inşa (log4cplus.dll dahil) aynı adla DLL dosyaları kullanın. Uygulaması ve kullandığı tüm dll'ler tek bir ortamda (vs2008) inşa edilmiştir. Kullandığı dll ve tüm dll'ler başka bir ortama (vs2013) dayanmaktadır. Şimdi ben

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 

Günlüğü herkes için çalışır bu çalışma zamanı hataları olsun hariç, dll başarıyla kendi bağımlılıkları yüklemek için izin verdiği görülmektedir LoadLibraryEx e LOAD_WITH_ALTERED_SEARCH_PATH bayrağı geçirmeye uygulamayı değiştirdi kadar

LoadLibrary'ı başarısız her iki ortamda da yerleşik uygulamalar. Günlüğe kaydetme, bu uygulama için de çalışır ve her ikisi de aynı ortamda yerleşiktir. Log4cplusS.lib'yi statik olarak bağlamak için dll'yi değiştirdim, ancak yine de aynı hataları alıyorum.

cevap

0

Her şeyden önce her şey için aynı derleyiciyi kullanın. Farklı derleyici sürümleri kullanırken işleri yapmak temelde imkansızdır. Her şeyi aynı derleyici ile derledikten sonra, hala varsa diğer sorunları çözmeye çalışın.

+0

Aynı derleyicide oluşturulduğunda hiçbir sorun olmadığı belirtildi, ancak dll genellikle bu gereksinime sahip değil. Karışmanın yararlı olmasının nedeni en yeni çevreye yapılan yükseltmelerdir. –