Oops, a bit of a rookie error. Thanks John.
So to summarise for those that search the archives:
As per "Link Your Program to a Boost program" (http://www.boost.org/doc/libs/1_45_0/more/getting_started/unix-variants.html#link-your-program-to-a-boost-library), and other basic gcc/g++ documentation, the example "Using with MPR / GMP - a High-Precision Floating-Point Library" (http://www.boost.org/doc/libs/1_45_0/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_mpfr.html):
boost_mpfr_example.cpp:
#include <boost/math/bindings/mpfr.hpp>Should be compiled and linked with the following command:
#include <boost/math/special_functions/gamma.hpp>
int main()
{
mpfr_class::set_dprec(500); // 500 bit precision
//
// Note that the argument to tgamma is an expression template,
// that's just fine here:
//
mpfr_class v = boost::math::tgamma(sqrt(mpfr_class(2)));
std::cout << std::setprecision(50) << v << std::endl;
}