Hi,
I'm new to log4cxx and very rusty on my c/c++ skills.
I installed log4cxx on my Mac (version 10.4.7, Intel based) and tried to
run a small test program:
#include <log4cxx/logger.h>
#include <log4cxx/xml/domconfigurator.h>
using namespace log4cxx;
int main()
{
log4cxx::xml::DOMConfigurator::configure("test.xml");
return 0;
}
Compilation went ok:
g++ -I /usr/local/include/log4cxx/ test.cpp -o test -llog4cxx
but when i tried running it i got this error:
dyld: lazy symbol binding failed: Symbol not found:
__ZN7log4cxx7helpers13UnicodeHelper10decodeWideERPKwS3_
Referenced from: /usr/local/lib/liblog4cxx.10.dylib
Expected in: flat namespace
dyld: Symbol not found:
__ZN7log4cxx7helpers13UnicodeHelper10decodeWideERPKwS3_
Referenced from: /usr/local/lib/liblog4cxx.10.dylib
Expected in: flat namespace
Trace/BPT trap
>From this i guess i am missing an object that i need to link
(unicodehelper?) so i tried to compile again but got this error:
g++ -I /usr/local/include/log4cxx/ -I /usr/local/include/log4cxx/helpers/
test.cpp -o test -llog4cxx -lunicodehelper
/usr/local/include/log4cxx/helpers/locale.h:26: error: invalid function
declaration
/usr/include/c++/4.0.0/clocale:57: error: '::lconv' has not been declared
/usr/include/c++/4.0.0/clocale:58: error: '::setlocale' has not been declared
/usr/include/c++/4.0.0/clocale:59: error: '::localeconv' has not been
declared
/usr/include/c++/4.0.0/i686-apple-darwin8/bits/c++locale.h: In function
'int std::__convert_from_v(char*, int, const char*, _Tv, int* const&,
int)':
/usr/include/c++/4.0.0/i686-apple-darwin8/bits/c++locale.h:62: error:
'setlocale' is not a member of 'std'
/usr/include/c++/4.0.0/i686-apple-darwin8/bits/c++locale.h:62: error:
'LC_NUMERIC' was not declared in this scope
/usr/include/c++/4.0.0/i686-apple-darwin8/bits/c++locale.h:68: error:
'setlocale' is not a member of 'std'
/usr/include/c++/4.0.0/i686-apple-darwin8/bits/c++locale.h:79: error:
'setlocale' is not a member of 'std'
Any ideas ?
Thx