From abe22fa4068998bef87a5525bb588c3fcf1a0d96 Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Sun, 5 Mar 2017 02:41:52 +0100 Subject: [PATCH] Fix compilation on recent OSX versions --- xs/Build.PL | 2 +- xs/src/libslic3r/ClipperUtils.cpp | 1 + xs/src/libslic3r/IO.cpp | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/xs/Build.PL b/xs/Build.PL index 3c4d776b93..12837630ed 100644 --- a/xs/Build.PL +++ b/xs/Build.PL @@ -23,7 +23,7 @@ if ($cpp_guess->is_gcc) { push @cflags, qw(-U__STRICT_ANSI__); } my @ldflags = (); -if ($^O eq 'darwin' && `sw_vers -productVersion` =~ /\b10\.8\./) { +if ($^O eq 'darwin') { push @cflags, qw(-stdlib=libc++); push @ldflags, qw(-framework IOKit -framework CoreFoundation -lc++); diff --git a/xs/src/libslic3r/ClipperUtils.cpp b/xs/src/libslic3r/ClipperUtils.cpp index 98ca0e272d..08a4df17e2 100644 --- a/xs/src/libslic3r/ClipperUtils.cpp +++ b/xs/src/libslic3r/ClipperUtils.cpp @@ -39,6 +39,7 @@ ClipperPath_to_Slic3rMultiPoint(const ClipperLib::Path &input) retval.points.push_back(Point( (*pit).X, (*pit).Y )); return retval; } +template Polygon ClipperPath_to_Slic3rMultiPoint(const ClipperLib::Path &input); template T diff --git a/xs/src/libslic3r/IO.cpp b/xs/src/libslic3r/IO.cpp index b75b613359..0e3ce19058 100644 --- a/xs/src/libslic3r/IO.cpp +++ b/xs/src/libslic3r/IO.cpp @@ -103,11 +103,11 @@ OBJ::read(std::string input_file, Model* model) // Read vertices. assert((shape->mesh.vertices.size() % 3) == 0); - for (size_t v = 0; v < attrib.vertices.size(); ++v) { + for (size_t v = 0; v < attrib.vertices.size(); v += 3) { points.push_back(Pointf3( attrib.vertices[v], - attrib.vertices[++v], - attrib.vertices[++v] + attrib.vertices[v+1], + attrib.vertices[v+2] )); }