2016-04-01 3 views
0

私は定期的にlog4cplusを使用していますが、新しい問題が発生しました。log4cplusがAppenderFactoryを見つけられない

は、私は、DLL(LoadLibraryの)

彼らが異なるコンパイラに基づいて構築されているを使用してWindowsアプリケーションを持っているだけでなく、異なるコンパイラで構築された(log4cplus.dllを含む)と同じ名前を持つDLLを使用しています。アプリケーションとそれが使用するすべてのDLLは、1つの環境(vs2008)で構築されています。 dllとそれが使用するすべてのDLLは、別の環境(vs2013)で構築されています。私は今、私は

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が正常に独自の依存関係をロードできるように思われるLoadLibraryExにLOAD_WITH_ALTERED_SEARCH_PATHフラグを渡すようにアプリケーションを変更するまで

のLoadLibraryに失敗しましたどちらの環境でも構築されたアプリケーション このアプリケーションとdllの両方について、ロギングも同じ環境で構築されています。 dllを静的にlog4cplusS.libにリンクするように変更しましたが、同じエラーが表示されます。

答えて

0

まず、すべて同じコンパイラを使用してください。基本的には、さまざまなコンパイラのバージョンを使用しているときに動作させることは不可能です。同じコンパイラですべてをコンパイルしたら、それでもまだ問題がなければ、他の問題を解決しようとします。

+0

同じコンパイラでビルドしても問題はありませんが、通常dllにはこの要件はありません。ミキシングが有益な理由は、最新の環境への段階的なアップグレードです。 –

関連する問題