diff --git a/xs/Build.PL b/xs/Build.PL index 23b10273d..3726879bf 100644 --- a/xs/Build.PL +++ b/xs/Build.PL @@ -78,9 +78,7 @@ if ($^O eq 'darwin') { } } if ($mswin) { - # In case windows.h is included, we don't want the min / max macros to be active. - # If is included, we want the #defines to be active (M_PI etc.) - push @cflags, qw(-DNOMINMAX -D_USE_MATH_DEFINES); + push @cflags, qw(-DNOMINMAX); } my @INC = qw(-Isrc/libslic3r); diff --git a/xs/src/libslic3r/Fill/FillGyroid.cpp b/xs/src/libslic3r/Fill/FillGyroid.cpp index eddc00bb5..01c652c5c 100644 --- a/xs/src/libslic3r/Fill/FillGyroid.cpp +++ b/xs/src/libslic3r/Fill/FillGyroid.cpp @@ -1,7 +1,6 @@ #include "../ClipperUtils.hpp" #include "../PolylineCollection.hpp" #include "../Surface.hpp" -#define _USE_MATH_DEFINES #include #include #include diff --git a/xs/src/libslic3r/libslic3r.h b/xs/src/libslic3r/libslic3r.h index d178c6c64..7efb563bd 100644 --- a/xs/src/libslic3r/libslic3r.h +++ b/xs/src/libslic3r/libslic3r.h @@ -4,7 +4,12 @@ // this needs to be included early for MSVC (listing it in Build.PL is not enough) #include #include + +// Otherwise #defines like M_PI are undeclared under Visual Studio +#ifndef _USE_MATH_DEFINES #define _USE_MATH_DEFINES +#endif + #include #include #include