diff --git a/simgear/nasal/cppbind/detail/functor_templates.hxx b/simgear/nasal/cppbind/detail/functor_templates.hxx index 51bb6c99..eeb3600a 100644 --- a/simgear/nasal/cppbind/detail/functor_templates.hxx +++ b/simgear/nasal/cppbind/detail/functor_templates.hxx @@ -18,8 +18,16 @@ > Ghost& method(const std::string& name, const SG_GHOST_FUNC_TYPE& func) { -#define SG_GHOST_REQUIRE_ARG(z, n, dummy)\ +#if defined(GCC_VERSION) && GCC_VERSION < 40407 + // The old version of g++ used on Jenkins (16.11.2012) only compiles this + // version. +# define SG_GHOST_REQUIRE_ARG(z, n, dummy)\ + boost::bind(&arg_from_nasal, _2, n) +#else + // VS (2008, 2010, ... ?) only allow this version. +# define SG_GHOST_REQUIRE_ARG(z, n, dummy)\ boost::bind(&Ghost::arg_from_nasal, _2, n) +#endif return method (