Open absentmindid opened 5 years ago
This code was compiled with a previous version of OpenMesh. With more recent version of OpenMesh, such as 8.0.1, the importer and the exporter has to be modified in order to match the new interface for those base classes. The missing bits are highlighted by your compiler error.
I've made it compile on my laptop (see last commit on master).
Hi I am having the error information while make: macOS 10.14 mojave libowendeMacBook-Pro:mcf_curve_skeletonizer libowen$ make [: > host compiling ] mesh.o clang: warning: -lomp: 'linker' input unused [-Wunused-command-line-argument] clang: warning: optimization flag '-frounding-math' is not supported [-Wignored-optimization-argument] mesh.cc:535:15: error: variable type 'mcf_curve_skeletonizer::ImporterT' is an abstract class ImporterT importer(this); ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:98:26: note: unimplemented pure virtual method 'add_edge' in 'ImporterT' virtual HalfedgeHandle add_edge(VertexHandle _vh0, VertexHandle _vh1) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:105:22: note: unimplemented pure virtual method 'add_face' in 'ImporterT' virtual FaceHandle add_face(HalfedgeHandle _heh) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:111:16: note: unimplemented pure virtual method 'add_face_texcoords' in 'ImporterT' virtual void add_face_texcoords( FaceHandle _fh, VertexHandle _vh, con... ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:120:16: note: unimplemented pure virtual method 'set_halfedge' in 'ImporterT' virtual void set_halfedge(VertexHandle _vh, HalfedgeHandle _heh) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:141:16: note: unimplemented pure virtual method 'set_status' in 'ImporterT' virtual void set_status(VertexHandle _vh, const OpenMesh::Attributes::... ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:144:16: note: unimplemented pure virtual method 'set_next' in 'ImporterT' virtual void set_next(HalfedgeHandle _heh, HalfedgeHandle _next) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:147:16: note: unimplemented pure virtual method 'set_face' in 'ImporterT' virtual void set_face(HalfedgeHandle _heh, FaceHandle _fh) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:153:16: note: unimplemented pure virtual method 'set_texcoord' in 'ImporterT' virtual void set_texcoord(VertexHandle _vh, const Vec3f& _texcoord) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:156:16: note: unimplemented pure virtual method 'set_texcoord' in 'ImporterT' virtual void set_texcoord(HalfedgeHandle _heh, const Vec3f& _texcoord) = 0; ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:159:16: note: unimplemented pure virtual method 'set_status' in 'ImporterT' virtual void set_status(HalfedgeHandle _heh, const OpenMesh::Attribute... ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:174:16: note: unimplemented pure virtual method 'set_status' in 'ImporterT' virtual void set_status(EdgeHandle _eh, const OpenMesh::Attributes::St... ^ /usr/local/include/OpenMesh/Core/IO/importer/BaseImporter.hh:192:16: note: unimplemented pure virtual method 'set_status' in 'ImporterT' virtual void set_status(FaceHandle _fh, const OpenMesh::Attributes::St... ^ mesh.cc:548:15: error: variable type 'mcf_curve_skeletonizer::ExporterT' is an abstract class ExporterT exporter(this); ^ /usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:101:18: note: unimplemented pure virtual method 'texcoord' in 'ExporterT' virtual Vec2f texcoord(HalfedgeHandle _heh) const = 0; ^ /usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:102:45: note: unimplemented pure virtual method 'status' in 'ExporterT' virtual OpenMesh::Attributes::StatusInfo status(VertexHandle _vh) const = 0; ^ /usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:117:26: note: unimplemented pure virtual method 'getHeh' in 'ExporterT' virtual HalfedgeHandle getHeh(FaceHandle _fh, VertexHandle _vh) const = 0; ^ /usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:119:3: note: unimplemented pure virtual method 'get_face_texcoords' in 'ExporterT' get_face_texcoords(std::vector& _hehandles) const = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:127:45: note:
unimplemented pure virtual method 'status' in 'ExporterT'
virtual OpenMesh::Attributes::StatusInfo status(FaceHandle _fh) const = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:136:45: note:
unimplemented pure virtual method 'status' in 'ExporterT'
virtual OpenMesh::Attributes::StatusInfo status(EdgeHandle _eh) const = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:139:15: note:
unimplemented pure virtual method 'get_halfedge_id' in 'ExporterT'
virtual int get_halfedge_id(VertexHandle _vh) = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:140:15: note:
unimplemented pure virtual method 'get_halfedge_id' in 'ExporterT'
virtual int get_halfedge_id(FaceHandle _vh) = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:141:15: note:
unimplemented pure virtual method 'get_next_halfedge_id' in 'ExporterT'
virtual int get_next_halfedge_id(HalfedgeHandle _heh) = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:142:15: note:
unimplemented pure virtual method 'get_to_vertex_id' in 'ExporterT'
virtual int get_to_vertex_id(HalfedgeHandle _heh) = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:143:15: note:
unimplemented pure virtual method 'get_face_id' in 'ExporterT'
virtual int get_face_id(HalfedgeHandle _heh) = 0;
^
/usr/local/include/OpenMesh/Core/IO/exporter/BaseExporter.hh:144:45: note:
unimplemented pure virtual method 'status' in 'ExporterT'
virtual OpenMesh::Attributes::StatusInfo status(HalfedgeHandle _heh) ...
^
2 errors generated.
make: *** [bin/release/obj/mesh.o] Error 1
Similar errors showed in ubuntu 18.04 please help me with this, Thank you!