[geos-devel] segfault against 3.3.0 C++

Peter Körner osm-lists at mazdermind.de
Fri Sep 9 13:46:26 EDT 2011


> src/traverser/traverser.cc: In member function ‘void
> Traverser::processPolygon(OGRPolygon*)’:
> src/traverser/traverser.cc:407:71: error: cannot dynamic_cast
> ‘poly->OGRPolygon::<anonymous>.OGRSurface::<anonymous>.OGRGeometry::exportToGEOS()’
> (of type ‘struct GEOSGeom_t*’) to type ‘class geos::geom::Polygon*’
> (source is a pointer to incomplete type)

GEOSGeom_t is from the C-interface of GEOS while Polygon* is from the 
C++ interface.

Seems OGR's exportToGEOS() followed the recommendation* and implemented 
the C-wrapper instead of the C++ library.

Peter


*) the docs say, that the C-wrapper is recommended and the C++ interface 
is not, although I don't really know why.


More information about the geos-devel mailing list