编译使用gmp的程序时出错

时间:2014-05-11 06:58:34

标签: c++ c gmp mpfr

一位朋友给我发了一个有点复杂的代码,它使用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)

我在Ubuntu 11.10上使用gcc 4.6.1。

有没有人知道问题可能在哪里?

由于

0 个答案:

没有答案