How to compile GiNaC under MinGW/MSYS
Hi,everyone. is there anyone here could help me, please ,i have built GiNaC dozens of times, now im in desperate. here are my information: 1) OS: windows 7 home basic MSYS 1.0.11 , TDM/MinGW 4.4.1 gmp5.0.1 , cln 1.3.1 ,GiNaC 1.5.7 2)building gmp (./configure --prefix=/GiNaC --enable-cxx --disable-static --enable-shared), normal downloading binary version of pkg-config and dll of glib from GNOME websites.( http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3..., http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.24/glib_2.24.1-1_win32.... ) coping pkg-config.exe and libglib-2.0-0.dll to msys/bin. 3) building cln(./configure --prefix=/GiNaC --with-gmp=/GiNaC --disable-static --enable-shared ),but i only got the static libs 4)building GiNaC (./configure --prefix=/GiNaC --disable-static --enable-shared ) still only static libs 5)compiling example codes for testing. gmp OK,but cln gives me this error: g++ pi.cc -I/GiNaC1/include -L/GiNaC1/lib -lcln -o pi 2>a.txt C:/ooo/1.0/GiNaC1/lib/libcln.a(cl_LF_1plus.o): In function `subx_loop_up': C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:406: undefined reference to `_imp____gmpn_sub_n' C:/ooo/1.0/GiNaC1/lib/libcln.a(cl_LF_1plus.o): In function `shiftrightcopy_loop_down': C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:495: undefined reference to `_imp____gmpn_rshift' C:/ooo/1.0/GiNaC1/lib/libcln.a(cl_LF_1plus.o): In function `add_loop_up': C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:378: undefined reference to `_imp____gmpn_add_n' ............................................................. C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:453: undefined reference to `_imp____gmpn_lshift' C:/ooo/1.0/GiNaC1/lib/libcln.a(cl_I_to_digits.o): In function `divu_loop_down': C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:539: undefined reference to `_imp____gmpn_divrem_1' C:/ooo/1.0/GiNaC1/lib/libcln.a(cl_I_ldbx.o): In function `shiftrightcopy_loop_down': C:\msys\1.0\home\Lenovo\cln-1.3.1\src/./base/digitseq/cl_DS.h:495: undefined reference to `_imp____gmpn_rshift' collect2: ld returned 1 exit status
Hello, On Wed, May 26, 2010 at 04:21:32PM +0800, wang wayne wrote:
gmp OK,but cln gives me this error:
g++ pi.cc -I/GiNaC1/include -L/GiNaC1/lib -lcln -o pi 2>a.txt
You have to explicitly link with GMP library on Windows: g++ pi.cc -I/GiNaC1/include -L/GiNaC1/lib -lcln -lgmp -o pi 2>a.txt (GNU/Linux linker adds -lgmp on its own, unfortunately MinGW linker is not that smart). Hope this helps, Alexei
participants (2)
-
Alexei Sheplyakov
-
wang wayne