Matteo Monti
Matteo Monti

Reputation: 8950

gmpxx.h: no such file or directory

I just installed a brand new copy of mingw (32 bit) downloading it from the official project page from Sourceforge. I installed everything in the package, all compilers and so on. Then I downloaded from here gmp for MinGW. I extracted gmp-5.0.1-1-mingw32-src.tar.lzma somewhere into my mingw folder, then ran ./pkgbuild from there. It went on running for some minutes, then printed out something like COMPLETED EVERYTHING OK, EVERYTHING PASS.

Then I wrote down this simple example, to check if it was going to work:

#include <gmpxx.h>

int main (void)
{
  mpz_class a, b, c;

  a = 1234;
  b = "-5678";
  c = a+b;
  cout << "sum is " << c << "\n";
  cout << "absolute value is " << abs(c) << "\n";

  return 0;
}

And then compiled it using g++ mycxxprog.cc -lgmpxx -lgmp. The only answer I get is:

Fatal error: gmpxx.h: No such file or directory.

Does anybody have any hint? I don't really know what should I do...

Upvotes: 6

Views: 24099

Answers (4)

Dave Something
Dave Something

Reputation: 71

If you are building gmp from source, you need to add the --enable-cxx flag to the configure command.

Upvotes: 7

jap1968
jap1968

Reputation: 7763

gmpxx.h header file is included in the libgmp-dev package

You can install it on Ubuntu based machines with this command:

$ sudo apt-get install libgmp-dev

Upvotes: 18

zhao yue
zhao yue

Reputation: 41

You can also copy that to the path"/usr/include/", the system will find it.

Upvotes: 4

carlpett
carlpett

Reputation: 12583

You need to make sure the is among the directories searched for headers. Find the place where the gmpxx.h header resides and add -I /path/to/header/ on your g++ line.

Upvotes: 3

Related Questions