2012-11-07 35 views
2

我一直在想我的电脑上运行此log4cplus运行示例代码时:bad_alloc的错误使用log4cplus

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

我已经建立了我LogLevel的项目中使用VS2010和我使用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.. 

在” .. \微软的Visual Studio 10.0 \ VC \ CRT \ SRC \ new.cpp“文件(第63行)

我该如何解决这个问题?

我知道有another SO thread谈论同样的问题,但不幸的是它是没有解决。

+0

请参阅我对您链接到的SO线索的回答。它可能有帮助。 – FishesCycle

+0

@jpen:您是否将log4cplus用作静态库? – wilx

+0

@wilx - 我刚刚阅读你的评论。是的,我将它用作静态库。 – jpen

回答

0

如果您在调试中构建应用程序,请务必链接到lib4CplusD.lib和lib4CplusD.dll。同样,发布应用程序应链接aginst lib4cplus.lib和lib4cplus.dll我有相同的运行时错误,并且当我将调试应用程序与调试库链接时,问题已解决。

Logger::getInstance causing bad_alloc exception in log4cplus