On Feb 1, 2005, at 4:35 AM, Ambarish Mitra wrote:

I do not find any method called subAppend in class ConsoleAppender.


It appears at the bottom of the file when viewed through the Web CVS interface: http://cvs.apache.org/viewcvs.cgi/logging-log4cxx/src/ consoleappender.cpp?rev=1.11&view=markup. Something in the file had be use std::wcout for you to get your previous message.



I have searched for wchar defintion in the gcc include paths, and found that
it is present in iostream as:


namespace std
{
....

#ifdef _GLIBCPP_USE_WCHAR_T
extern wistream wcin; ///< Linked to standard input
extern wostream wcout; ///< Linked to standard output
extern wostream wcerr; ///< Linked to standard error (unbuffered)
extern wostream wclog; ///< Linked to standard error (buffered)
#endif
}


But because _GLIBCPP_USE_WCHAR_T is not defined, it is unable to find.

Now, in the code, I did #define _GLIBCPP_USE_WCHAR_T, but then program gave
me the following error:
/usr/local/include/c++/3.3.2/sparc-sun-solaris2.8/bits/c++io.h:44:25: #if
with no expression
....



Likely you defined _GLIBCPP_USE_WCHAR_T as "" instead of 1. However that won't do the trick since it is a that environment variable should be set when the C RTL is built.


I found this bug in the GCC Bugzilla that seems on-topic: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6702. Can you try using GCC 3.4 or later?

If not, fix per the previous message or comment out whatever was causing the compilation problem with std::wcout and std::wcerr (which would make ConsoleAppender ineffective) and see if that is the only compilation problem encountered.



Reply via email to