CGAL/cgal

Compilation error in two `Basic_viewer` examples, related to the `poisson_surface_reconstruction.h` header

Closed this issue · 3 comments

Issue Details

I tried to play with examples in the examples/Basic_viewer directory and got compilation errors for two files:

draw_mesh_and_points.cpp
draw_several_windows.cpp

The error is:

[ 92%] Building CXX object CMakeFiles/draw_mesh_and_points.dir/draw_mesh_and_points.cpp.o
In file included from /home/aleksey/Basic_viewer/draw_mesh_and_points.cpp:3:
/home/aleksey/apps/CGAL/current/include/CGAL/poisson_surface_reconstruction.h: In instantiation of ‘bool CGAL::poisson_surface_reconstruction_delaunay(PointInputIterator, PointInputIterator, PointMap, NormalMap, PolygonMesh&, double, double, double, double, Tag) [with PointInputIterator = __gnu_cxx::__normal_iterator<std::pair<Point_3<Epick>, Vector_3<Epick> >*, std::vector<std::pair<Point_3<Epick>, Vector_3<Epick> > > >; PointMap = First_of_pair_property_map<std::pair<Point_3<Epick>, Vector_3<Epick> > >; NormalMap = Second_of_pair_property_map<std::pair<Point_3<Epick>, Vector_3<Epick> > >; PolygonMesh = Polyhedron_3<Epick>; Tag = Manifold_with_boundary_tag]’:
/home/aleksey/Basic_viewer/draw_mesh_and_points.cpp:49:7:   required from here
/home/aleksey/apps/CGAL/current/include/CGAL/poisson_surface_reconstruction.h:108:46: error: no matching function for call to ‘CGAL::Poisson_reconstruction_function<CGAL::Epick>::compute_implicit_function()’
  108 |     if ( ! function.compute_implicit_function() )
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /home/aleksey/apps/CGAL/current/include/CGAL/poisson_surface_reconstruction.h:23:
/home/aleksey/apps/CGAL/current/include/CGAL/Poisson_reconstruction_function.h:429:8: note: candidate: ‘template<class SparseLinearAlgebraTraits_d, class Visitor> bool CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function(SparseLinearAlgebraTraits_d, Visitor, double, double) [with Visitor = SparseLinearAlgebraTraits_d; Gt = CGAL::Epick]’
  429 |   bool compute_implicit_function(
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/aleksey/apps/CGAL/current/include/CGAL/Poisson_reconstruction_function.h:429:8: note:   template argument deduction/substitution failed:
/home/aleksey/apps/CGAL/current/include/CGAL/poisson_surface_reconstruction.h:108:46: note:   candidate expects 4 arguments, 0 provided
  108 |     if ( ! function.compute_implicit_function() )
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/aleksey/apps/CGAL/current/include/CGAL/Poisson_reconstruction_function.h:583:8: note: candidate: ‘template<class SparseLinearAlgebraTraits_d> bool CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function(SparseLinearAlgebraTraits_d, bool) [with Gt = CGAL::Epick]’
  583 |   bool compute_implicit_function(SparseLinearAlgebraTraits_d solver, bool smoother_hole_filling = false)
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/aleksey/apps/CGAL/current/include/CGAL/Poisson_reconstruction_function.h:583:8: note:   template argument deduction/substitution failed:
/home/aleksey/apps/CGAL/current/include/CGAL/poisson_surface_reconstruction.h:108:46: note:   candidate expects 2 arguments, 0 provided
  108 |     if ( ! function.compute_implicit_function() )
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
make[3]: *** [CMakeFiles/draw_mesh_and_points.dir/build.make:76: CMakeFiles/draw_mesh_and_points.dir/draw_mesh_and_points.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:230: CMakeFiles/draw_mesh_and_points.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:237: CMakeFiles/draw_mesh_and_points.dir/rule] Error 2
make: *** [Makefile:189: draw_mesh_and_points] Error 2

Source Code

Please see the examples/Basic_viewer directory.

Environment

  • Operating system (Windows/Mac/Linux, 32/64 bits): Ubuntu 64-bit
  • Compiler: g++ 13.3.0
  • Release or debug mode:
  • Specific flags used (if any):
  • CGAL version: 6.0.1
  • Boost version:
  • Other libraries versions if used (Eigen, TBB, etc.):

My guess is that you don't have Eigen 3 installed.

See also #9020

@sloriot - You are right, the Eigen 3 has been missed. Compilation was OK after I installed it. Thanks!