boost/math/special_functions/legendre.hpp causing compile errors in other headers

I recently started using the Boost Math libraries because I need legendre polynomials. However I cam across a problem I was hoping someone on this list could help me with. My personal code compiles fine with no problems. When I add the line #include "boost/math/special_functions/legendre.hpp" then I get compiler errors attributed to one of my header files. Specifically I get: my_header.hh:109 error: ISO C++ forbids declaration of ‘tuple’ with no type As I mentioned before, I don't believe the problem is in my header file because it compiles just fine without the legendre.hpp file. Has anyone seen this problem before? Do you know how to fix it? I am running gcc 4.2.1 on Mac OS X 10.5.6. Thanks, Jeremy

I recently started using the Boost Math libraries because I need legendre polynomials. However I cam across a problem I was hoping someone on this list could help me with. My personal code compiles fine with no problems. When I add the line
#include "boost/math/special_functions/legendre.hpp"
then I get compiler errors attributed to one of my header files. Specifically I get:
my_header.hh:109 error: ISO C++ forbids declaration of ‘tuple’ with no type
As I mentioned before, I don't believe the problem is in my header file because it compiles just fine without the legendre.hpp file.
Has anyone seen this problem before? Do you know how to fix it? I am running gcc 4.2.1 on Mac OS X 10.5.6.
No I haven't seen that before, I would guess that there is a name clash somewhere, since legrendre.hpp pulls in Boost.TR1.Tuples. So... what's at line 109 in your header, and do you do a using namespace std::tr1; or something similar somewhere? HTH, John.

On Tue, Mar 10, 2009 at 1:14 PM, John Maddock
I recently started using the Boost Math libraries because I need legendre
polynomials. However I cam across a problem I was hoping someone on this list could help me with. My personal code compiles fine with no problems. When I add the line
#include "boost/math/special_functions/legendre.hpp"
then I get compiler errors attributed to one of my header files. Specifically I get:
my_header.hh:109 error: ISO C++ forbids declaration of ‘tuple’ with no type
As I mentioned before, I don't believe the problem is in my header file because it compiles just fine without the legendre.hpp file.
Has anyone seen this problem before? Do you know how to fix it? I am running gcc 4.2.1 on Mac OS X 10.5.6.
No I haven't seen that before, I would guess that there is a name clash somewhere, since legrendre.hpp pulls in Boost.TR1.Tuples.
So... what's at line 109 in your header, and do you do a using namespace std::tr1; or something similar somewhere?
HTH, John.
Yep, you were right. It is a name clash. Line 109 was a boost::tuple. I changed them all and now it works. Thanks for the help. Jeremy
participants (2)
-
Jeremy Conlin
-
John Maddock