One more compilation error with Boost Geometry 1.56

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

One more compilation error with Boost Geometry 1.56

jakka30
Hello Adam,

I am getting few more compilation errors with Boost::Geometry. Other Boost classes are working fine but the geometry is giving us troubles. Here are the errors. Could you please let us know how to fix it? Is Boost::Geometry 1.56 is compatible with Visual Studio 2012?

>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2039: 'indexed_point_view' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2065: 'indexed_point_view' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2974: 'boost::geometry::traits::tag' : invalid template argument for 'Geometry', type expected
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2923: 'boost::geometry::traits::tag' : 'Index' is not a valid template type argument for parameter 'Enable'
1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(64) : see declaration of 'Index'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C3855: 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(66): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(66): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2039: 'indexed_point_view' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2065: 'indexed_point_view' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2974: 'boost::geometry::traits::coordinate_type' : invalid template argument for 'Point', type expected
1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see declaration of 'boost::geometry::traits::coordinate_type'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2923: 'boost::geometry::traits::coordinate_type' : 'Index' is not a valid template type argument for parameter 'Enable'
1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(70) : see declaration of 'Index'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C3855: 'boost::geometry::traits::coordinate_type': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(72): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(72): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2039: 'indexed_point_view' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2065: 'indexed_point_view' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2974: 'boost::geometry::traits::coordinate_system' : invalid template argument for 'Point', type expected
1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see declaration of 'boost::geometry::traits::coordinate_system'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2923: 'boost::geometry::traits::coordinate_system' : 'Index' is not a valid template type argument for parameter 'Enable'
1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(76) : see declaration of 'Index'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C3855: 'boost::geometry::traits::coordinate_system': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(78): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(78): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2039: 'indexed_point_view' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2065: 'indexed_point_view' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2974: 'boost::geometry::traits::dimension' : invalid template argument for 'Point', type expected
1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see declaration of 'boost::geometry::traits::dimension'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2923: 'boost::geometry::traits::dimension' : 'Index' is not a valid template type argument for parameter 'Enable'
1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(82) : see declaration of 'Index'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C3855: 'boost::geometry::traits::dimension': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(84): error C2065: 'Geometry' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(84): error C2923: 'boost::geometry::dimension' : 'Geometry' is not a valid template type argument for parameter 'Geometry'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error C2226: syntax error : unexpected type 'boost::geometry::dimension'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C2039: 'indexed_point_view' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C2065: 'indexed_point_view' : undeclared identifier
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C2974: 'boost::geometry::traits::access' : invalid template argument for 'Geometry', type expected
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C2143: syntax error : missing ';' before ','
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C3855: 'boost::geometry::traits::access': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error C2059: syntax error : ','
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(89): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(89): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(97): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C3083: 'buffer': the symbol to the left of a '::' must be a type
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2039: 'buffered_ring' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2065: 'buffered_ring' : undeclared identifier
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2974: 'boost::geometry::traits::point_order' : invalid template argument for 'Ring', type expected
1>          t:\boost\boost\geometry\core\point_order.hpp(65) : see declaration of 'boost::geometry::traits::point_order'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2953: 'boost::geometry::traits::point_order' : class template has already been defined
1>          t:\boost\boost\geometry\core\point_order.hpp(65) : see declaration of 'boost::geometry::traits::point_order'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(102): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(102): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C3083: 'buffer': the symbol to the left of a '::' must be a type
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C2039: 'buffered_ring' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C2065: 'buffered_ring' : undeclared identifier
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C2974: 'boost::geometry::traits::closure' : invalid template argument for 'G', type expected
1>          t:\boost\boost\geometry\core\closure.hpp(71) : see declaration of 'boost::geometry::traits::closure'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(109): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(109): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C3083: 'buffer': the symbol to the left of a '::' must be a type
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C2039: 'buffered_ring_collection' : is not a member of 'boost::geometry::traits::detail'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C2065: 'buffered_ring_collection' : undeclared identifier
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C2974: 'boost::geometry::traits::point_type' : invalid template argument for 'Geometry', type expected
1>          t:\boost\boost\geometry\core\point_type.hpp(44) : see declaration of 'boost::geometry::traits::point_type'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C2143: syntax error : missing ';' before '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115): error C2059: syntax error : '>'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(116): error C2143: syntax error : missing ';' before '{'
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(116): error C2447: '{' : missing function header (old-style formal list?)
1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(124): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\index\detail\bounded_view.hpp(136): error C2977: 'boost::geometry::traits::tag' : too many template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\geometries\linestring.hpp(88): error C3855: 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\geometries\linestring.hpp(88): error C2977: 'boost::geometry::traits::tag' : too many template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\geometries\multi_point.hpp(87): error C3855: 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\geometries\multi_point.hpp(87): error C2977: 'boost::geometry::traits::tag' : too many template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>t:\boost\boost\geometry\geometries\multi_linestring.hpp(72): error C3855: 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible with the declaration
1>t:\boost\boost\geometry\geometries\multi_linestring.hpp(72): error C2977: 'boost::geometry::traits::tag' : too many template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\point.h(170): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\point.h(171): error C2976: 'boost::geometry::traits::dimension' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see declaration of 'boost::geometry::traits::dimension'
1>q:\libraries\geometrylib\point.h(172): error C2976: 'boost::geometry::traits::coordinate_type' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see declaration of 'boost::geometry::traits::coordinate_type'
1>q:\libraries\geometrylib\point.h(173): error C2976: 'boost::geometry::traits::coordinate_system' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see declaration of 'boost::geometry::traits::coordinate_system'
1>q:\libraries\geometrylib\point.h(181): error C2976: 'boost::geometry::traits::access' : too few template arguments
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>q:\libraries\geometrylib\point.h(189): error C2976: 'boost::geometry::traits::access' : too few template arguments
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>q:\libraries\geometrylib\point.h(201): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\point.h(202): error C2976: 'boost::geometry::traits::dimension' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see declaration of 'boost::geometry::traits::dimension'
1>q:\libraries\geometrylib\point.h(203): error C2976: 'boost::geometry::traits::coordinate_type' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see declaration of 'boost::geometry::traits::coordinate_type'
1>q:\libraries\geometrylib\point.h(204): error C2976: 'boost::geometry::traits::coordinate_system' : too few template arguments
1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see declaration of 'boost::geometry::traits::coordinate_system'
1>q:\libraries\geometrylib\point.h(212): error C2976: 'boost::geometry::traits::access' : too few template arguments
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>q:\libraries\geometrylib\point.h(220): error C2976: 'boost::geometry::traits::access' : too few template arguments
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>q:\libraries\geometrylib\point.h(228): error C2976: 'boost::geometry::traits::access' : too few template arguments
1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of 'boost::geometry::traits::access'
1>q:\libraries\geometrylib\envelope.h(132): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\linesegment.h(180): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\linesegment.h(241): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\linestring.h(274): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\linestring.h(333): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\triang.h(221): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\triang.h(222): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'
1>q:\libraries\geometrylib\triang.h(222): fatal error C1003: error count exceeds 100; stopping compilation

Thanks,
Suresh

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: One more compilation error with Boost Geometry 1.56

Adam Wulkiewicz
Hi Suresh,

Jakka30 wrote:
> Hello Adam,
>
> I am getting few more compilation errors with Boost::Geometry. Other Boost
> classes are working fine but the geometry is giving us troubles. Here are
> the errors. Could you please let us know how to fix it? Is Boost::Geometry
> 1.56 is compatible with Visual Studio 2012?

Yes, it should be compatible.

I can't deduce what may be the cause. Could you prepare some minimal
failing example? Without it I can only guess.
Which parts of Boost.Geometry are you using?
Which part fails this way?
Have you specialized the traits on your own?
Have you defined a namespace detail in the namespace
boost::geometry::traits?

Regards,
Adam

>> t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2039: 'indexed_point_view' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2065: 'indexed_point_view' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2974: 'boost::geometry::traits::tag' : invalid template argument for
> 'Geometry', type expected
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2923: 'boost::geometry::traits::tag' : 'Index' is not a valid template type
> argument for parameter 'Enable'
> 1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(64)
> : see declaration of 'Index'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C3855: 'boost::geometry::traits::tag': template parameter 'Enable' is
> incompatible with the declaration
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(65): error
> C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(66): error
> C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(66): error
> C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2039: 'indexed_point_view' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2065: 'indexed_point_view' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2974: 'boost::geometry::traits::coordinate_type' : invalid template
> argument for 'Point', type expected
> 1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see
> declaration of 'boost::geometry::traits::coordinate_type'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2923: 'boost::geometry::traits::coordinate_type' : 'Index' is not a valid
> template type argument for parameter 'Enable'
> 1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(70)
> : see declaration of 'Index'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C3855: 'boost::geometry::traits::coordinate_type': template parameter
> 'Enable' is incompatible with the declaration
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(71): error
> C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(72): error
> C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(72): error
> C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2039: 'indexed_point_view' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2065: 'indexed_point_view' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2974: 'boost::geometry::traits::coordinate_system' : invalid template
> argument for 'Point', type expected
> 1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see
> declaration of 'boost::geometry::traits::coordinate_system'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2923: 'boost::geometry::traits::coordinate_system' : 'Index' is not a valid
> template type argument for parameter 'Enable'
> 1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(76)
> : see declaration of 'Index'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C3855: 'boost::geometry::traits::coordinate_system': template parameter
> 'Enable' is incompatible with the declaration
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(77): error
> C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(78): error
> C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(78): error
> C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2039: 'indexed_point_view' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2065: 'indexed_point_view' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2974: 'boost::geometry::traits::dimension' : invalid template argument for
> 'Point', type expected
> 1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see
> declaration of 'boost::geometry::traits::dimension'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2923: 'boost::geometry::traits::dimension' : 'Index' is not a valid
> template type argument for parameter 'Enable'
> 1>          t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(82)
> : see declaration of 'Index'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C3855: 'boost::geometry::traits::dimension': template parameter 'Enable' is
> incompatible with the declaration
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(83): error
> C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(84): error
> C2065: 'Geometry' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(84): error
> C2923: 'boost::geometry::dimension' : 'Geometry' is not a valid template
> type argument for parameter 'Geometry'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error
> C2226: syntax error : unexpected type 'boost::geometry::dimension'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error
> C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(85): error
> C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C2039: 'indexed_point_view' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C2065: 'indexed_point_view' : undeclared identifier
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C2974: 'boost::geometry::traits::access' : invalid template argument for
> 'Geometry', type expected
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C2143: syntax error : missing ';' before ','
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C3855: 'boost::geometry::traits::access': template parameter 'Enable' is
> incompatible with the declaration
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(88): error
> C2059: syntax error : ','
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(89): error
> C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\views\detail\indexed_point_view.hpp(89): error
> C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(97):
> error C2976: 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C3083: 'buffer': the symbol to the left of a '::' must be a type
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2039: 'buffered_ring' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2065: 'buffered_ring' : undeclared identifier
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2974: 'boost::geometry::traits::point_order' : invalid template
> argument for 'Ring', type expected
> 1>          t:\boost\boost\geometry\core\point_order.hpp(65) : see
> declaration of 'boost::geometry::traits::point_order'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2953: 'boost::geometry::traits::point_order' : class template has
> already been defined
> 1>          t:\boost\boost\geometry\core\point_order.hpp(65) : see
> declaration of 'boost::geometry::traits::point_order'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(101):
> error C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(102):
> error C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(102):
> error C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C3083: 'buffer': the symbol to the left of a '::' must be a type
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C2039: 'buffered_ring' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C2065: 'buffered_ring' : undeclared identifier
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C2974: 'boost::geometry::traits::closure' : invalid template argument
> for 'G', type expected
> 1>          t:\boost\boost\geometry\core\closure.hpp(71) : see declaration
> of 'boost::geometry::traits::closure'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(108):
> error C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(109):
> error C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(109):
> error C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C3083: 'buffer': the symbol to the left of a '::' must be a type
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C2039: 'buffered_ring_collection' : is not a member of
> 'boost::geometry::traits::detail'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C2065: 'buffered_ring_collection' : undeclared identifier
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C2974: 'boost::geometry::traits::point_type' : invalid template
> argument for 'Geometry', type expected
> 1>          t:\boost\boost\geometry\core\point_type.hpp(44) : see
> declaration of 'boost::geometry::traits::point_type'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C2143: syntax error : missing ';' before '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(115):
> error C2059: syntax error : '>'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(116):
> error C2143: syntax error : missing ';' before '{'
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(116):
> error C2447: '{' : missing function header (old-style formal list?)
> 1>t:\boost\boost\geometry\algorithms\detail\buffer\buffered_ring.hpp(124):
> error C2976: 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\index\detail\bounded_view.hpp(136): error C2977:
> 'boost::geometry::traits::tag' : too many template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\geometries\linestring.hpp(88): error C3855:
> 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible
> with the declaration
> 1>t:\boost\boost\geometry\geometries\linestring.hpp(88): error C2977:
> 'boost::geometry::traits::tag' : too many template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\geometries\multi_point.hpp(87): error C3855:
> 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible
> with the declaration
> 1>t:\boost\boost\geometry\geometries\multi_point.hpp(87): error C2977:
> 'boost::geometry::traits::tag' : too many template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>t:\boost\boost\geometry\geometries\multi_linestring.hpp(72): error C3855:
> 'boost::geometry::traits::tag': template parameter 'Enable' is incompatible
> with the declaration
> 1>t:\boost\boost\geometry\geometries\multi_linestring.hpp(72): error C2977:
> 'boost::geometry::traits::tag' : too many template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\point.h(170): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\point.h(171): error C2976:
> 'boost::geometry::traits::dimension' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see
> declaration of 'boost::geometry::traits::dimension'
> 1>q:\libraries\geometrylib\point.h(172): error C2976:
> 'boost::geometry::traits::coordinate_type' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see
> declaration of 'boost::geometry::traits::coordinate_type'
> 1>q:\libraries\geometrylib\point.h(173): error C2976:
> 'boost::geometry::traits::coordinate_system' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see
> declaration of 'boost::geometry::traits::coordinate_system'
> 1>q:\libraries\geometrylib\point.h(181): error C2976:
> 'boost::geometry::traits::access' : too few template arguments
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>q:\libraries\geometrylib\point.h(189): error C2976:
> 'boost::geometry::traits::access' : too few template arguments
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>q:\libraries\geometrylib\point.h(201): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\point.h(202): error C2976:
> 'boost::geometry::traits::dimension' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_dimension.hpp(43) : see
> declaration of 'boost::geometry::traits::dimension'
> 1>q:\libraries\geometrylib\point.h(203): error C2976:
> 'boost::geometry::traits::coordinate_type' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_type.hpp(42) : see
> declaration of 'boost::geometry::traits::coordinate_type'
> 1>q:\libraries\geometrylib\point.h(204): error C2976:
> 'boost::geometry::traits::coordinate_system' : too few template arguments
> 1>          t:\boost\boost\geometry\core\coordinate_system.hpp(41) : see
> declaration of 'boost::geometry::traits::coordinate_system'
> 1>q:\libraries\geometrylib\point.h(212): error C2976:
> 'boost::geometry::traits::access' : too few template arguments
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>q:\libraries\geometrylib\point.h(220): error C2976:
> 'boost::geometry::traits::access' : too few template arguments
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>q:\libraries\geometrylib\point.h(228): error C2976:
> 'boost::geometry::traits::access' : too few template arguments
> 1>          t:\boost\boost\geometry\core\access.hpp(55) : see declaration of
> 'boost::geometry::traits::access'
> 1>q:\libraries\geometrylib\envelope.h(132): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\linesegment.h(180): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\linesegment.h(241): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\linestring.h(274): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\linestring.h(333): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\triang.h(221): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\triang.h(222): error C2976:
> 'boost::geometry::traits::tag' : too few template arguments
> 1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
> 'boost::geometry::traits::tag'
> 1>q:\libraries\geometrylib\triang.h(222): fatal error C1003: error count
> exceeds 100; stopping compilation
>
> Thanks,
> Suresh
>
>
>
>
>
> --
> View this message in context: http://boost-geometry.203548.n3.nabble.com/One-more-compilation-error-with-Boost-Geometry-1-56-tp4026221.html
> Sent from the Boost Geometry mailing list archive at Nabble.com.
> _______________________________________________
> Geometry mailing list
> [hidden email]
> http://lists.boost.org/mailman/listinfo.cgi/geometry
>


_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: One more compilation error with Boost Geometry 1.56

jakka30
Hello Adam,

Thank you for your reply. We registered our legacy geometries with boost::geometry. Here is my point registration details.


//Point 2D registration wtih Boost
namespace boost
{
        namespace geometry
        {
                namespace traits
                {
                        template<typename P> struct tag<QCS::Point2D<P>> { typedef point_tag type; };
                        template<typename P> struct dimension<QCS::Point2D<P>> : boost::mpl::int_<2> {};
                        template<typename P> struct coordinate_type<QCS::Point2D<P>> { typedef P type; };
                        template<typename P> struct coordinate_system<QCS::Point2D<P>> { typedef cs::cartesian type; };

                        template<typename P> struct access<QCS::Point2D<P>, 0>
                        {
                                static inline P get(QCS::Point2D<P> const& p)
                                { return  p.m_x; }
                                static inline void set(QCS::Point2D<P>& p, P const& value)
                                { p.SetX(value); }
                        };

                        template<typename P> struct access<QCS::Point2D<P>, 1>
                        {
                                static inline P get(QCS::Point2D<P> const& p)
                                { return  p.m_y; }
                                static inline void set(QCS::Point2D<P>& p, P const& value)
                                { p.SetY(value); }
                        };
                }
        }
}

I am getting the following errors in 1.56 but it was working fine in 1.55

>q:\libraries\geometrylib\point.h(170): error C2976: 'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of 'boost::geometry::traits::tag'


Thanks,
Suresh
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: One more compilation error with Boost Geometry 1.56

Adam Wulkiewicz
Hi,

2014-10-24 17:55 GMT+02:00 jakka30 <[hidden email]>:
Hello Adam,

Thank you for your reply. We registered our legacy geometries with
boost::geometry. Here is my point registration details.


Did you also use MSVS2012 with Boost 1.55?

The default versions of traits indeed has additional template parameter Enable defaulting to void but it should work as expected. I'm not sure if this additional parameter is really required and it may be misleading but the code shouldn't fail to compile. This was added 3 years ago: https://github.com/boostorg/geometry/commit/e051050b44a15e713a46e3268f7390919e1a4685. So it was released with the first released version of Boost.Geometry in Boost 1.47.

The adaptation of a QCS::Point2D<> looks ok. Besides those &lt; characters.
Why some of the less operators/angle brackets was pasted below correctly but some of them are represented as &lt; ?
Does it look the same in your code?
Honestly, the errors you pasted looked like if there was some brackets missing "}" or there was some additional semicolons ";" in wrong places.

Btw, when I mentioned a failing example I had a code of a full, failing program in mind. Some *.cpp file that fails to compile. Would something like this be possible?
Does the attached test file work for you?

Regards,
Adam
 

//Point 2D registration wtih Boost
namespace boost
{
        namespace geometry
        {
                namespace traits
                {
                        template<typename P> struct tag<QCS::Point2D&lt;P>> { typedef point_tag
type; };
                        template<typename P> struct dimension<QCS::Point2D&lt;P>> :
boost::mpl::int_<2> {};
                        template<typename P> struct coordinate_type<QCS::Point2D&lt;P>> { typedef
P type; };
                        template<typename P> struct coordinate_system<QCS::Point2D&lt;P>> {
typedef cs::cartesian type; };

                        template<typename P> struct access<QCS::Point2D&lt;P>, 0>
                        {
                                static inline P get(QCS::Point2D<P> const& p)
                                { return  p.m_x; }
                                static inline void set(QCS::Point2D<P>& p, P const& value)
                                { p.SetX(value); }
                        };

                        template<typename P> struct access<QCS::Point2D&lt;P>, 1>
                        {
                                static inline P get(QCS::Point2D<P> const& p)
                                { return  p.m_y; }
                                static inline void set(QCS::Point2D<P>& p, P const& value)
                                { p.SetY(value); }
                        };
                }
        }
}

I am getting the following errors in 1.56 but it was working fine in 1.55

>q:\libraries\geometrylib\point.h(170): error C2976:
'boost::geometry::traits::tag' : too few template arguments
1>          t:\boost\boost\geometry\core\tag.hpp(42) : see declaration of
'boost::geometry::traits::tag'



_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry

adaptation_test.cpp (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: One more compilation error with Boost Geometry 1.56

jakka30
Hi Adam,

I could get rid of these compilation errors by NOT including the following header file

#include <boost/geometry/geometries/adapted/c_array.hpp>


Not sure what is causing not to compile if I include this header file. Any idea?

Now we could build our sources using Boost 1.57 and thank you for your help.

Suresh
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: One more compilation error with Boost Geometry 1.56

Adam Wulkiewicz
Jakka30 wrote:

> Hi Adam,
>
> I could get rid of these compilation errors by NOT including the following
> header file
>
> #include <boost/geometry/geometries/adapted/c_array.hpp>
>
>
> Not sure what is causing not to compile if I include this header file. Any
> idea?

AFAIS this file always specializes traits for arbitrary array types.
Maybe it interferes with some of your specializations?
Moreover the purpose of this file is to allow adaptation of an array to
Point concept.

Since you were including this file does it mean that you were using this
functionality to adapt some array?
How did it look like, the adaptation and the array type?
To which Geometry concept you hoped to adapt it?
Do you also have or had other array types adapted to some Geometries
manually?

Regards,
Adam
_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
Loading...