C++ CGAL库顶点可见性图2.h的问题

C++ CGAL库顶点可见性图2.h的问题,c++,graph,visibility,cgal,C++,Graph,Visibility,Cgal,对于可见性图,我在使用CGAL库时遇到问题。 我正在尝试的代码如下所示: typedef-CGAL::笛卡尔核; typedef CGAL::Arr_段特征2特征2; typedef CGAL::顶点可视图2可视图; typedef CGAL::Polygon_2 Polygon_2; 可视图(多边形.顶点\开始(),多边形.顶点\结束()); 但是当我尝试编译时,我得到了错误: /opt/local/include/CGAL/Partition\u 2/Vertex\u visibilit

对于可见性图,我在使用CGAL库时遇到问题。 我正在尝试的代码如下所示:

typedef-CGAL::笛卡尔核;
typedef CGAL::Arr_段特征2特征2;
typedef CGAL::顶点可视图2可视图;
typedef CGAL::Polygon_2 Polygon_2;
可视图(多边形.顶点\开始(),多边形.顶点\结束());
但是当我尝试编译时,我得到了错误:

/opt/local/include/CGAL/Partition\u 2/Vertex\u visibility\u graph\u 2\u impl.h:528:30:错误:
对“Intersect_2”(aka)类型对象的调用没有匹配函数
‘CGAL::Arr_段_特征_2::相交_2’)
以前有人使用过该库吗?

您需要更换:
typedef CGAL::顶点可视图2可视图
通过

typedef CGAL::顶点可视图2可视图

奇怪的是,您将
Kernel
定义为
Cartesian
,而错误提到
Cartesian
。这很可能是CGAL中的一个bug,它使用了
Intersect\u 2
的旧接口
Partition\u 2
。我建议将此发布在cgal讨论列表中,以引起维护人员的注意。实际上,这是我的错。我在更改类型之前复制并粘贴了。
/opt/local/include/CGAL/Partition_2/Vertex_visibility_graph_2_impl.h:528:30: error: 
      no matching function for call to object of type 'Intersect_2' (aka
      'CGAL::Arr_segment_traits_2<CGAL::Cartesian<CGAL::Gmpq>>::Intersect_2')