Hi, here are some simple patches to allow the current version (from git) of GiNaC to be compiled with MS Visual C++: 1. Fix problem with min() and max() macros in MSVC: --- a/ginac/compiler.h +++ b/ginac/compiler.h @@ -34,6 +34,8 @@ #ifdef _MSC_VER #define __func__ __FUNCTION__ #define __alignof__ __alignof +#define NOMINMAX +#include <algorithm> #endif #endif // ndef GINAC_COMPILER_DEP_H --- a/check/exam_cra.cpp +++ b/check/exam_cra.cpp @@ -21,6 +21,7 @@ */ #include "polynomial/cra_garner.h" +#include "../ginac/compiler.h" #include <cln/integer.h> #include <cln/integer_io.h> 2. Fix ambiguous overload of log() (MSVC is more exact here than gcc): --- a/check/exam_inifcns.cpp +++ b/check/exam_inifcns.cpp @@ -312,7 +312,7 @@ static unsigned inifcns_consist_log() // a bit more complicated ex e1 = log(-7*p*pow(q,3)*a*pow(b,2)*z*w).expand(expand_options::expand_transcendental); - ex e2 = log(7)+log(p)+log(pow(q,3))+log(-z*a*w*pow(b,2)); + ex e2 = log(7.0)+log(p)+log(pow(q,3))+log(-z*a*w*pow(b,2)); if (!e1.is_equal(e2)) ++result;