Error in linking with mpz_class in ostream
Georg Lippold
georg.lippold at student.qut.edu.au
Thu Oct 9 06:53:53 CEST 2008
Hi,
I'm trying to represent a mpz_class object as a string. Therefore, I
coded the following few lines:
#include <gmpxx.h>
#include <cstdio>
#include <sstream>
#include <bits/stringfwd.h>
using namespace std;
int main(int argc, char** argv) {
mpz_class a;
a = 1234;
ostringstream out;
out << a << endl;
out.flush();
}
The code compiles fine, however the linker fails with the following message:
./src/main.o: In function `std::basic_ostream<char,
std::char_traits<char> >& operator<< <__mpz_struct
[1]>(std::basic_ostream<char, std::char_traits<char> >&,
__gmp_expr<__mpz_struct [1], __mpz_struct [1]> const&)':
/usr/include/gmpxx.h:2020: undefined reference to
`operator<<(std::basic_ostream<char, std::char_traits<char> >&,
__mpz_struct const*)'
I think that my code is comparable to the example on
http://gmplib.org/manual/C_002b_002b-Interface-General.html#C_002b_002b-Interface-General
As I'm not a C++ guru, maybe I'm doing something wrong. Could you please
tell me how to do this correctly?
Thanks & Regards,
Georg
More information about the gmp-bugs
mailing list