Hi,

I checked out HEAD from log4cxx subversion repository yesterday, and tried to build it with the command line compiler of Visual Studio .NET 2003. I got several compilation errors emanating from lines like the following of patterlayout.cpp, fixedwindowrollingpolicy.cpp and timebasedrollingpolicy.cpp:

     RULES_PUT("c", LoggerPatternConverter);

FYI, I had to build with "ant -Dapr.version=1.2.2 -Daprutil.version=1.2.2" because the 1.1 versions are not on apache.mirrors.pair.com anymore. That also forced me to do something about the apr-1.1.0.patch which is used in the build file; I simply deleted the patch task.

If I remove all RULES_PUT lines from the 3 cpp files, the build of the DLL is successful (except for a warning in msxml.cpp line 289), and the build continues up to patternparsertestcase.cpp which has more RULES_PUT.

Each compilation error for RULES_PUT goes like this (I've indented it myself):

   [cc] D:\appl\logging-log4cxx\src\patternlayout.cpp(133) : error C2665:
   'std::pair<
       class std::basic_string<
           unsigned short,
           struct std::char_traits<unsigned short>,
           class std::allocator<unsigned short>
       > const ,
       class log4cxx::helpers::ObjectPtrT<
           class log4cxx::pattern::PatternConverter
       > (__cdecl*)(
           class std::vector<
               class std::basic_string<
                   unsigned short,
                   struct std::char_traits<unsigned short>,
                   class std::allocator<unsigned short>
               >,
               class std::allocator<
                   class std::basic_string<
                       unsigned short,
                       struct std::char_traits<unsigned short>,
                       class std::allocator<unsigned short>
                   >
               >
           > const &
       )>::__ctor' :
   none of the 3 overloads can convert parameter 2 from type
'log4cxx::pattern::PatternConverterPtr (const std::vector<_Ty,_Ax> &)'
   with
   [
       _Ty=log4cxx::LogString,
       _Ax=std::allocator<log4cxx::LogString>
   ]
could be 'std::pair<_Ty1,_Ty2>::pair(const std::basic_string<_Elem,_Traits,_Ax> &,
       const log4cxx::pattern::PatternConstructor & )'
   with
   [
       _Ty1=const log4cxx::LogString,
       _Ty2=log4cxx::pattern::PatternConstructor ,
       _Elem=wchar_t,
       _Traits=std::char_traits<wchar_t>,
       _Ax=std::allocator<wchar_t>
   ]
while trying to match the argument list '(unsigned short [2], overloaded-function)'

Regards,
Per Frykenvall

Reply via email to