Math/Quaternions compile problem in VC++6

My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with :: in the quaternion.hpp, otherwise I get: " ...\boost-1_32\boost\math\quaternion.hpp(1686) : error C2784: 'class boost::math::quaternion<T> __cdecl boost::math::sin(const class boost::math::quaternion<T> &)' : could not deduce template argument for 'const class boost::math::quaternion<T> &' from 'const double' ...\main.cpp(112) : see reference to function template instantiation 'class boost::math::quaternion<double> __cdecl boost::math::spherical(const double &,const double &,const double &,const double &)' being compiled " I'm using a quaternion<double> here. Changing the line T d = sin(phi2); into T d = ::sin(phi2); fixes the problem (for that line). The rest of the file contains lots more trigonometry (and other math) functions, which probably also need to be prefixed. ----------------------------------------------------------------------- Job P. Mulder Xsens Technologies B.V. http://www.xsens.com

On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
Prefixing with :: is not the correct solution. VC++6 was made before the standard and so it doesn't put the math functions in namespace std where they belong, so prefixing would break it in comformant compilers ( since the global ones are the ones from <math.h> and aren't overloaded ). The best solution is to upgrade your compiler :P Barring that, using declarations would be a much better fix, since that way they'd be better isolated. - Scott

On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler. John.

"John Maddock" <john@johnmaddock.co.uk> wrote in message news:002301c5f5b6$8c049250$472a0d52@fuji...
On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler.
Not only is 6.0 very old and very broken, the new (VC++ 2005, aka 8.0) Express Edition is free. That include both the compiler itself and the IDE. That is for the full optimizing compiler, not a stripped down version. --Beman

On 12/2/05 9:45 PM, "Beman Dawes" <bdawes@acm.org> wrote:
"John Maddock" <john@johnmaddock.co.uk> wrote in message news:002301c5f5b6$8c049250$472a0d52@fuji...
On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler.
Not only is 6.0 very old and very broken, the new (VC++ 2005, aka 8.0) Express Edition is free. That include both the compiler itself and the IDE. That is for the full optimizing compiler, not a stripped down version.
What are the system requirements for VC++ 6.0 and 8.0? If VC8 can run on all the systems that VC6 can, maybe we should add a FAQ telling all VC6 users to upgrade. (Or, if VC8 does have higher requirements, suggest that any VC6 user should upgrade if possible.) -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com

"Daryle Walker" <darylew@hotmail.com> skrev i meddelandet news:BAY104-DAV1422B3FFFB5FF8061DDA33BF4E0@phx.gbl...
On 12/2/05 9:45 PM, "Beman Dawes" <bdawes@acm.org> wrote:
"John Maddock" <john@johnmaddock.co.uk> wrote in message news:002301c5f5b6$8c049250$472a0d52@fuji...
On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler.
Not only is 6.0 very old and very broken, the new (VC++ 2005, aka 8.0) Express Edition is free. That include both the compiler itself and the IDE. That is for the full optimizing compiler, not a stripped down version.
What are the system requirements for VC++ 6.0 and 8.0? If VC8 can run on all the systems that VC6 can, maybe we should add a FAQ telling all VC6 users to upgrade. (Or, if VC8 does have higher requirements, suggest that any VC6 user should upgrade if possible.)
I don't think the hardware requirements are a problem. Formally 600 MHz, 192 MB RAM, 500 MB harddisk. http://msdn.microsoft.com/vstudio/express/visualc/download/ However, VC8.0 does require that you have the latest upgrade of a currently supported operating system. That might be limiting, for some people at least. Bo Persson

Isn't msvc 6.0 the only msvc C++ compiler which works on Windoz/CE ? Robert Ramey Bo Persson wrote:
"Daryle Walker" <darylew@hotmail.com> skrev i meddelandet news:BAY104-DAV1422B3FFFB5FF8061DDA33BF4E0@phx.gbl...
On 12/2/05 9:45 PM, "Beman Dawes" <bdawes@acm.org> wrote:
"John Maddock" <john@johnmaddock.co.uk> wrote in message news:002301c5f5b6$8c049250$472a0d52@fuji...
On 30/11/05, Job Mulder <Job@xsens.com> wrote:
My Visual Studio 6 requires the trigonometry functions sin, cos, etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler.
Not only is 6.0 very old and very broken, the new (VC++ 2005, aka 8.0) Express Edition is free. That include both the compiler itself and the IDE. That is for the full optimizing compiler, not a stripped down version.
What are the system requirements for VC++ 6.0 and 8.0? If VC8 can run on all the systems that VC6 can, maybe we should add a FAQ telling all VC6 users to upgrade. (Or, if VC8 does have higher requirements, suggest that any VC6 user should upgrade if possible.)
I don't think the hardware requirements are a problem. Formally 600 MHz, 192 MB RAM, 500 MB harddisk.
http://msdn.microsoft.com/vstudio/express/visualc/download/
However, VC8.0 does require that you have the latest upgrade of a currently supported operating system. That might be limiting, for some people at least.
Bo Persson
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

At 15:52 2005-12-04, Robert Ramey wrote:
Isn't msvc 6.0 the only msvc C++ compiler which works on Windoz/CE ?
ON it? I don't know, for it? no, vs2005 can compiler for wince. and I'm all for retiring vc++6.0 support from boost (I've argued this before).
Robert Ramey
Bo Persson wrote:
"Daryle Walker" <darylew@hotmail.com> skrev i meddelandet news:BAY104-DAV1422B3FFFB5FF8061DDA33BF4E0@phx.gbl...
On 12/2/05 9:45 PM, "Beman Dawes" <bdawes@acm.org> wrote:
"John Maddock" <john@johnmaddock.co.uk> wrote in message news:002301c5f5b6$8c049250$472a0d52@fuji...
On 30/11/05, Job Mulder <Job@xsens.com> wrote: > My Visual Studio 6 requires the trigonometry functions sin, cos, > etc. to be prefixed with ::
The quaternion lib also uses features such as template template parameters that aren't supported by VC6, sorry, but I think you're on to a looser trying to use that lib with that (very old, and very broken) compiler.
Not only is 6.0 very old and very broken, the new (VC++ 2005, aka 8.0) Express Edition is free. That include both the compiler itself and the IDE. That is for the full optimizing compiler, not a stripped down version.
What are the system requirements for VC++ 6.0 and 8.0? If VC8 can run on all the systems that VC6 can, maybe we should add a FAQ telling all VC6 users to upgrade. (Or, if VC8 does have higher requirements, suggest that any VC6 user should upgrade if possible.)
I don't think the hardware requirements are a problem. Formally 600 MHz, 192 MB RAM, 500 MB harddisk.
http://msdn.microsoft.com/vstudio/express/visualc/download/
However, VC8.0 does require that you have the latest upgrade of a currently supported operating system. That might be limiting, for some people at least.
Bo Persson
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"

| -----Original Message----- | From: boost-bounces@lists.boost.org | [mailto:boost-bounces@lists.boost.org] On Behalf Of Victor A. | Wagner Jr. | Sent: 05 December 2005 01:02 | To: boost@lists.boost.org; boost@lists.boost.org | Subject: Re: [boost] Permanently retire VC++ 6? | (was:Re:Math/Quaternions compile problem in VC++6) | | and I'm all for retiring vc++6.0 support from boost (I've argued this before). This is long overdue and now that we have a reasonably compliant MSVC compiler that works on Windows 2000 up I can't see any excuse for not dropping support. Things that this work will still work, but if not - tough. (I am not proposing ripping out all the #ifdefs relating the MSVC 6, despite the improvement in readability that might result). Should we have a straw poll of the lurkers - so that diehards can have their say - and then make a decision? Paul -- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB Phone and SMS text +44 1539 561830, Mobile and SMS text +44 7714 330204 mailto: pbristow@hetp.u-net.com http://www.hetp.u-net.com/index.html http://www.hetp.u-net.com/Paul%20A%20Bristow%20info.html

Paul A Bristow wrote:
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Victor A. Wagner Jr. Sent: 05 December 2005 01:02 To: boost@lists.boost.org; boost@lists.boost.org Subject: Re: [boost] Permanently retire VC++ 6? (was:Re:Math/Quaternions compile problem in VC++6)
and I'm all for retiring vc++6.0 support from boost (I've argued this before).
This is long overdue and now that we have a reasonably compliant MSVC compiler that works on Windows 2000 up I can't see any excuse for not dropping support. Things that this work will still work, but if not - tough. (I am not proposing ripping out all the #ifdefs relating the MSVC 6, despite the improvement in readability that might result).
Should we have a straw poll of the lurkers - so that diehards can have their say - and then make a decision?
What do you mean by "dropping support"? I am against dropping VC 6 regression tests in general because I want to see what works on it, either for not introducing a regression, or for ensuring compatibility where it's reasonably easy to do so. I do not oppose dropping VC 6 and 7 from the list of "release" compilers.

I am against dropping VC 6 regression tests in general because I want to see what works on it, either for not introducing a regression, or for ensuring compatibility where it's reasonably easy to do so.
Just to be sure, I'm quite happy to keep running the regression tests for vc6 for as long as people would like it, personally I do not use vc6 anymore but since I was still needing to develop with until last year I fully sympathise with people who do need it. I'm also very grateful I don't have to deal with it anymore ;) I think it should still be a per library maintainer decision, if they have put effort into supporting old compilers and wish it to stay as the library is very stable and complete (like boost.bind) then thats up to them. Obviously if they require a boost library that drops support for old compilers then it may not be their choice. Martin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.362 / Virus Database: 267.13.12/192 - Release Date: 5/12/2005

Do we need to do anything special? Boost policy is not to require compatibility with non-conforming compilers and testing markup can be used to indicate which libraries should not be tested with specific compilers. Maybe the only thing necessary is to make this information a little more visible through the web site so we have a table indicating which libraries support which compilers. (I'm sure its already in there somewhere - it would just have to be made a little more prominent) If we try to do anything else like agree which should be supported and which not we'll end up in interminable round of discussions which will never be totally satisfactory. Already we have spirit which is not supported on some platforms. This works well. Robert Ramey Paul A Bristow wrote:
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Victor A. Wagner Jr. Sent: 05 December 2005 01:02 To: boost@lists.boost.org; boost@lists.boost.org Subject: Re: [boost] Permanently retire VC++ 6? (was:Re:Math/Quaternions compile problem in VC++6)
and I'm all for retiring vc++6.0 support from boost (I've argued this before).
This is long overdue and now that we have a reasonably compliant MSVC compiler that works on Windows 2000 up I can't see any excuse for not dropping support. Things that this work will still work, but if not - tough. (I am not proposing ripping out all the #ifdefs relating the MSVC 6, despite the improvement in readability that might result).
Should we have a straw poll of the lurkers - so that diehards can have their say - and then make a decision?
Paul

"Robert Ramey" <ramey@rrsd.com> writes:
If we try to do anything else like agree which should be supported and which not we'll end up in interminable round of discussions which will never be totally satisfactory.
I'm not sure; I think we need to give the discussion a chance to get somewhere (or stagnate) before we'll know.
Already we have spirit which is not supported on some platforms.
That's not the only such library, either. Boost.Lambda has required a "reasonably conforming" compiler for much longer than Spirit has existed. -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (12)
-
Beman Dawes
-
Bo Persson
-
Daryle Walker
-
David Abrahams
-
Job Mulder
-
John Maddock
-
Martin Slater
-
me22
-
Paul A Bristow
-
Peter Dimov
-
Robert Ramey
-
Victor A. Wagner Jr.