|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-01-05 16:56:54
Hi,
I've discovered two problem with queternion/octonion on Intel 7.1
for windows with the Dinkumware standard library which ships with
VC7.1.
1. The compiler complains that application of 'abs' to a valarray
variable is ambiguous (maybe getting confused with 'abs' from
<math.h>.) This problems goes away if all such uses of abs are
explicitly namespace qualified: ::std::abs(tr).
2.Dinkumware defines a macro _DEPRECATED which apparently expands
to __declspec(deprecated), which Intel doesn't understance. This
problem comes up in the header <locale> included by quaternion. One
way to solve the problem is to do something like this:
#if defined(BOOST_NO_DEPRECATED_MODIFIER) &&
defined(BOOST_DINKUMWARE_STDLIB)
#define BOOST_DEPRECATED_TEMP _DEPRECATED
#define _DEPRECATED
#endif
#include <locale>
#ifdef BOOST_DEPRECATED_TEMP
#define _DEPRECATED BOOST_DEPRECATED_TEMP
#undef BOOST_DEPRECATED_TEMP
#endif
Perhaps there is a less verbose, or more general solution; perhaps
compiler version and Dinkumware version need to be checked.
Jonathan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk