Coupler Boost::rational à GMP
	
	
		Bonjour,
Je cherche à coupler l'utilisation de la bibliothèque rational de Boost au type d'entier à précision arbitraire qu'implémente la bibliothèque GMP.
J'ai vu que Boost à un binding particulier pour rendre les types de GMP et MPFR compatibles avec les bibliothèques de Boost (voir using Boost with MPFR/GMP).
Néanmoins, l'ECM suivant :
	Code:
	
1 2 3 4 5 6 7 8 9 10
   | #include <boost/math/bindings/mpfr.hpp>
#include <boost/rational.hpp>
 
typedef boost::rational<mpz_class> rat;
 
int main(void) {
  rat r;
 
  return 0;
} | 
 produit :
	Citation:
	
		
		
			$ g++ try.cpp -lgmp -lmpfr -lgmpfrxx -lm
In file included from try.cpp:2:0:
/usr/include/boost/rational.hpp: In instantiation of ‘boost::rational<__gmp_expr<__mpz_struct [1], __mpz_struct [1]> >’:
try.cpp:7:7:   instantiated from here
/usr/include/boost/rational.hpp:127:1: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
			
		
	
 Ce que je comprends comme le fait que Boost me tape sur les doigts car je n'utilise pas rational comme il faut. Donc que le type mpz_class (ou mpfr_class qui me donne la même erreur) ne satisfait pas les pré-requis du type abstrait de l'implémentation de boost::rational.
Si c'est cela, le binding (premier include) n'est-il pas censé y pourvoir ?
En vous remerciant.