Друг прислал мне несколько сложный код, который использует gmpfr, который использует gmp и mpfr. При попытке связать gmp я получаю следующую ошибку:
/tmp/cc44K2j2.o: In function `operator<<(std::basic_ostream<char, std::char_traits<char> >&, Integer const&)':
callEnumPar.cpp:(.text+0x45e): undefined reference to `operator<<(std::basic_ostream<char, std::char_traits<char> >&, __mpz_struct const*)'
/tmp/cc44K2j2.o: In function `operator>>(std::basic_istream<char, std::char_traits<char> >&, Integer&)':
callEnumPar.cpp:(.text+0x492): undefined reference to `operator>>(std::basic_istream<char, std::char_traits<char> >&, __mpz_struct*)'
collect2: ld returned 1 exit status
Я собираю это так:
g++ -o main main.cpp libgmpfrxx.a -I $(GMP)/include -L $(GMP)/lib/ -lgmp -lgmpxx -I $(MPFR)/include -L $(MPFR)/lib -lmpfr $(CFLAGS)
Я также уже попробовал это со статической библиотекой gmp:
g++ -o main main.cpp libgmpfrxx.a -I $(GMP)/include $(GMP)/lib/libgmp.a -I $(MPFR)/include -L $(MPFR)/lib -lmpfr $(CFLAGS)
Я использую gcc 4.6.1 на Ubuntu 11.10.
У кого-нибудь есть подсказка, где может лежать проблема?
Спасибо
Задача ещё не решена.