Повысить геометрию intersection_inserter & lt; polygon_2d & gt; не работает

Я использую библиотеку геометрии Boost C ++. Код хорошо работает в старой версии Eclipse (которая устанавливается из pythonxy). Сейчас я устанавливаю последнюю версию Eclipse и Mingw (x86_64-w64-mingw32). ошибки появляются в функции intersection_inserter () и boost :: geometry :: enrich_intersection_points ().

        typedef std::vector<polygon_2d > polygon_list;
polygon_list v;
intersection_inserter<polygon_2d>(square, *polygon_iterator,
std::back_inserter(v));

ошибка заключается в следующем:

c:\program files\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.7.1/
../../../../include/boost/geometry/algorithms/intersection.hpp:293:27:
required from 'OutputIterator boost::geometry::intersection_inserter(
const Geometry1&, const Geometry2&, OutputIterator) [with GeometryOut =
boost::geometry::polygon<boost::geometry::point_xy<double,
boost::geometry::cs::cartesian> >; Geometry1 =
boost::geometry::box<boost::geometry::point_xy<double,
boost::geometry::cs::cartesian> >; Geometry2 =
boost::geometry::polygon<boost::geometry::point_xy<double,
boost::geometry::cs::cartesian> >; OutputIterator =
std::back_insert_iterator<std::vector<boost::geometry::polygon<boost::
geometry::point_xy<double, boost::geometry::cs::cartesian> > > >]'
..\src\VoronoiPolygons.cpp:397:85:   required from here
c:\program files\mingw64\bin\../lib/gcc/x86_64-w64-
mingw32/4.7.1/../../../../include/boost/geometry/algorithms/overlay/
enrich_intersection_points.hpp:198:20: error: 'compare_distances' was not
declared in this scope, and no declarations were found by
argument-dependent lookup at the point of instantiation [-fpermissive]

0

Решение

compare_distances в настоящее время не используется ни в упомянутой строке, ни во всем файле. Вы используете (очень) старую версию Boost?

Наверное, да, я советую обновить.

1

Другие решения

Других решений пока нет …