cannot compile
Jens Hillenbach
jens@hillenbach.de
Wed, 16 Apr 2003 13:55:54 +0200
Hi there. I'm quite a newbie to unix, successfully installed cygwin on
my win98 and proceeded by installing gmp. However, something went
utterly wrong and I don't know what. The little programm I wrote for
testing purpuses, called test1.cpp follows:
#include <iostream.h>
#include <gmpxx.h>
using namespace std;
int main(void)
{
mpz_class N = "12345678901234567891234567890";
cout << "N = " << N << endl;
return 0;
}
When calling g++, look what I get:
$ g++ -o t1 test1.cpp -lgmpxx > g++_output
/cygdrive/c/WINDOWS/TEMP/ccmeb4uF.o(.__gmp_expr<__gmpz_value,
__gmpz_value>::tex
t$(bool) +0x17):test1.cpp: undefined reference to `__gmpz_init_set_ui'
/cygdrive/c/WINDOWS/TEMP/ccmeb4uF.o(.text$_$_t10__gmp_expr2Z12__gmpz_valueZ12__g
mpz_value+0x13):test1.cpp: undefined reference to `__gmpz_clear'
/usr/local/lib/libgmpxx.a(osmpz.o): In function `_ls(ostream &,
__mpz_struct con
st *)':
/Jens/gmp-4.0.1/cxx/osmpz.cc:38: undefined reference to `__gmpz_get_str'
/usr/local/lib/libgmpxx.a(osdoprnti.o): In function
`$_20gmp_allocated_string':
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_allocate_func'
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_doprnt_integer'
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_asprintf_final'
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_free_func'
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_free_func'
/Jens/gmp-4.0.1/cxx/../gmp-impl.h:2503: undefined reference to
`__gmp_free_func'
/usr/local/lib/libgmpxx.a(osfuns.o)(.text+0x4):osfuns.cc: undefined
reference to `__gmp_asprintf_memory'
/usr/local/lib/libgmpxx.a(osfuns.o)(.text+0x8):osfuns.cc: undefined
reference to `__gmp_asprintf_reps'
collect2: ld returned 1 exit status
Similar things are written when compiling with gcc some c-program. Even
telling explicitily where the libraries are to be found like
g++ -I/usr/local/include -o p-1 p-1.cpp -L/usr/local/lib -lgmpxx
won't prevent the compiler, or linker, or whatever to write those nasty
remarks.
If u experienced similiar problems and got rid of them (or simply know
what's wrong) don't hesitate to tell me how. Please!
Thanks in advance, Jens