[Geometry] Issues when registering a windows point type
Hi, I'm having an Issue when trying to register a windows POINT type. I'm registering the Point structure from windef.h as follows: BOOST_GEOMETRY_REGISTER_POINT_2D(POINT, LONG, boost::geometry::cs::cartesian, x, y); I'm getting the following in my build log: 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2870: 'boost' : a namespace definition must appear either at file scope or immediately within another namespace definition 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2913: explicit specialization; 'boost::geometry::traits::tag' is not a specialization of a class template 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2059: syntax error : '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '{' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2447: '{' : missing function header (old-style formal list?) 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2913: explicit specialization; 'boost::geometry::traits::dimension' is not a specialization of a class template 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2059: syntax error : '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C3083: 'mpl': the symbol to the left of a '::' must be a type 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2039: 'int_' : is not a member of 'boost' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2913: explicit specialization; 'boost::geometry::traits::coordinate_type' is not a specialization of a class template 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2059: syntax error : '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2913: explicit specialization; 'boost::geometry::coordinate_system' is not a specialization of a class template 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2059: syntax error : '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C3083: 'cs': the symbol to the left of a '::' must be a type 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2039: 'cartesian' : is not a member of 'boost::geometry' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2143: syntax error : missing ';' before '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2913: explicit specialization; 'boost::access' is not a specialization of a class template 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2059: syntax error : '<' 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2267: 'set' : static functions with block scope are illegal 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): fatal error C1903: unable to recover from previous error(s); stopping compilation I'd rather not have to define my own point structure if at all possible! Any help appreciated to solve this. Cheers Sean.
On 25 January 2014 20:49, Sean Farrow
I’m having an Issue when trying to register a windows POINT type.
I’m registering the Point structure from windef.h as follows:
BOOST_GEOMETRY_REGISTER_POINT_2D(POINT, LONG, boost::geometry::cs::cartesian, x, y);
I’m getting the following in my build log:
[...] 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C3083: 'cs': the symbol to the left of a '::' must be a type
1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2039: 'cartesian' : is not a member of 'boost::geometry'
Check if you include all required headers, if you include them selectively or follow this example and include the two: all-in-one + registration header: http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/referen... Best regards, -- Mateusz Łoskot, http://mateusz.loskot.net
Hi,
This is sorted. Turns out that adding the macro before any class/code works perfectly.
Cheers
Sean.
-----Original Message-----
From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Mateusz Loskot
Sent: 25 January 2014 21:13
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Geometry] Issues when registering a windows point type
On 25 January 2014 20:49, Sean Farrow
I’m having an Issue when trying to register a windows POINT type.
I’m registering the Point structure from windef.h as follows:
BOOST_GEOMETRY_REGISTER_POINT_2D(POINT, LONG, boost::geometry::cs::cartesian, x, y);
I’m getting the following in my build log:
[...] 1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C3083: 'cs': the symbol to the left of a '::' must be a type
1>c:\work\pantheon studios\o2\disesupport\supportfunctions.cpp(37): error C2039: 'cartesian' : is not a member of 'boost::geometry'
Check if you include all required headers, if you include them selectively or follow this example and include the two: all-in-one + registration header: http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/referen... Best regards, -- Mateusz Łoskot, http://mateusz.loskot.net _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Mateusz Łoskot
-
Sean Farrow