|
Boost : |
From: John Maddock (jm_at_[hidden])
Date: 2002-11-08 07:33:58
> It looks like (by inspecting the regression tests for the quaternion
> library) both the Intel Compiler for Linux and gcc need the symbol
> BOOST_NO_TEMPLATE_TEMPLATES to be defined.
Looking at the errors suggests that some other problem is at work - at the
very least you need to replace <limits> with <boost/limits.hpp>
The check:
#if defined(__GNUC__) && __GNUC__ < 3
template<typename T>
::std::ostream & operator << (
::std::ostream & os,
quaternion<T> const & q)
#else
should probably use BOOST_NO_STD_LOCALE throughout for this check - this is
the source of the STLport confusions, and you don't need the leading ::
before the std either - it will confuse gcc when std is an alias for the
global namespace.
In the test program:
#ifdef BOOST_NO_STDC_NAMESPACE
using ::sqrt;
using ::atan;
using ::log;
using ::exp;
using ::cos;
using ::sin;
using ::tan;
using ::cosh;
using ::sinh;
using ::tanh;
#endif /* BOOST_NO_STDC_NAMESPACE */
Should be enclosed in a namespace std{} block I assume, otherwise it has no
effect!!!!
Don't know about the remaining errors, I've given up for now...
John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk