2

PC でこの log4cplus サンプルを実行しようとしています。

http://log4cplus.sourceforge.net/loglevel.html

VS2010 を使用して LogLevel プロジェクトを作成し、log4cplus v1.1.0 を使用しています。

私のプログラムは正常にコンパイルされますが、この行をステップ実行すると

Logger logger = Logger::getInstance(LOG4CPLUS_TEXT("main"));

次のエラーが表示されます。

Unhandled exception at 0x75d5d3cf in LogLevel.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0030ed2c..

「..\Microsoft Visual Studio 10.0\VC\crt\src\new.cpp」ファイル (63 行目)

どうすればこの問題を回避できますか?

同じ問題について話している別の SO スレッドがあることは承知していますが、残念ながら未解決です。

4

1 に答える 1

0

アプリケーションをデバッグでビルドする場合は、必ず lib4CplusD.lib と lib4CplusD.dll にリンクしてください。同様に、リリース アプリケーションは lib4cplus.lib と lib4cplus.dll にリンクする必要があります。同じランタイム エラーが発生しました。デバッグ アプリケーションをデバッグ ライブラリにリンクすると、問題は解決しました。

Logger::getInstance が log4cplus で bad_alloc 例外を引き起こす

于 2013-06-11T15:40:21.777 に答える