Ok, (*) It seems like I fixed it. Summarizing, critical points were: - the order of the gcc options matter: "-o mytest" needs to go to the end, and "-lname" before but after the "-Ldir"; - as Bill said, the path should have ".libs" at the end because this is where the libraries are (even if they do not need to be named libmpir.a) - (at least in MinGW) the working format is c:/MPIR/mpir-2.7.0/.libs (thus absolute, also from /usr/local/ or other places)
What worked was for example: $ gcc mytest.c -Lc:/MPIR/mpir-2.7.0/.libs -lmpir -o mytest $ gcc mytest.c -Lc:/MPIR/mpir-2.7.0/.libs -lmpirdll -o mytest Thanks Bill and everybody for helping and stimulating my search hunger. Good night. (*)[Backstage: After hours and days of searches, scanning through forums, talking to list members and reading documentation, I found :)] On Wednesday, June 3, 2015 at 2:26:11 PM UTC+2, highcal...@gmail.com wrote: > > Hi, > > I have been trying to run a simple calculation with MPIR on my Windows 7 > machines for several days now. My only sources so far are the manual from > version 2.6.0 (since 2.7.0 would not load from the mpir site) and some > Google search results. I managed to do the following via MinGW: > > - run ./configure --disable-static --enable-shared > - make > - make check > > On one of my machines, everything went through, on the other, almost, > there was one error during "make check": "FAIL: t-io_raw.exe", but it then > went on. > (Is this all and now I can start using it or is a step missing?...) > Now I want to compile the following program called "mytest.cpp" with gcc; > I tried typing "g++ mytest.cpp -o mytest" : > > //----------------------------------------------- > #include "mpir.h" > #include "gmp.h" > #include "gmp-impl.h" > > using namespace std; > > int main () > { > mpz_t z; > > mpz_init(z); > > return (0); > } > //----------------------------------------------- > > The answer from the MinGW command line was > > "C:\Users\....\...\Local\Temp\ccD1pbG8.o:mytest.cpp:(.text+0x20): > undefined reference to '_imp____gmpz_init' " > > and some further lines with similar content. > > The program sits in the top folder of MPIR (C:/MPIR/mpir-2.7.0/), I have > added this folder to the Windows PATH environment variable. > I can see the mpir.h file in this folder...(?...) > What is missing? I read in the MPIR documentation chapter 3.1 that "All > programs using MPIR must link against the 'libmpir' library..." I then > tried to compile via > > g++ mytest.cpp -lmpir -o mytest > > which resulted in > > "C:/mingw/bin/ld.exe: cannot find -lmpir" > > Are the links to the mpz libraries missing (if so, do I have to use some > -I flag? Or - where are they)? > > My next question (once this works) would be how (if) I can use MPIR in C > code being called by Matlab (via mex-files). > I am relatively new to C Programming and would appreciate any hints. > Thanks. > > > > > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to mpir-devel+unsubscr...@googlegroups.com. To post to this group, send email to mpir-devel@googlegroups.com. Visit this group at http://groups.google.com/group/mpir-devel. For more options, visit https://groups.google.com/d/optout.