Boost logo

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