|
Boost : |
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2002-09-11 09:26:35
Hi there,
I'm trying to build the boost.regex library from boost 1.28.0
using IBMs xlC 5.0 on AIX. I have installed the latest fixes
for the compiler.
The compiler has two problems. The first:
"libs/regex/build/../src/cpp_regex_traits.cpp", line 196.39: 1540-0257
(S) An object or reference of type "std::messages_base::catalog" cannot
be initialized with an expression of type "int".
"libs/regex/build/../src/cpp_regex_traits.cpp", line 586.42: 1540-0257
(S) An object or reference of type "std::messages_base::catalog" cannot
be initialized with an expression of type "int".
This is because std::messages_base::catalog is not an int as required
by the C++ standard but of type nl_catd. (Probably due to the
requirements in IEEE Std 1003.1-2001). A simple C-style cast would fix this.
The second problem is:
"/mount/auto/ginit/src/boost-1.28.0/boost/regex.hpp", line 528.13:
1540-1628 (S) Every template parameter for a constructor template must
be used in the parameter list of the constructor.
It complains about the following constructor and I have no idea how to
fix this. Any ideas anyone?
template <class charT, class traits, class Allocator >
class reg_expression : public regbase
{
template <class ST, class SA>
explicit reg_expression(const std::basic_string<charT, ST, SA>& p,
flag_type f = regbase::normal, const Allocator& a = Allocator())
: data(a), pkmp(0), error_code_(REG_EMPTY), _expression(0)
{ set_expression(p, f | regbase::use_except); }
};
TIA, Markus
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk