Zohar Levi
Zohar Levi

Reputation: 759

gmp/mpir/mpfr: unresolved external symbol __gmp_bits_per_limb

I built in VS2019 the MPIR and MPFR libs from the provided .sln in the source.

Basic samples are built and run fine. However, the following:

cout << __gmp_bits_per_limb << endl;
cout << gmp_version << endl;

reports missing link symbols.

The first one is important to me for CGAL::Gmpfr.

My current remedy is to define

const int __gmp_bits_per_limb = 64;

But I didn't bother to read what this number means, and what's the default(?).

Upvotes: 0

Views: 277

Answers (1)

Arc
Arc

Reputation: 462

It is the basic "digit" size for GMP multiprecision calculations: 32 on 32-bit machines, and 64 on 64-bit machines. See here and here for an explanation of what is a limb for GMP (and thus for MPIR).

Note that if the build system worked correctly, you should have those symbols defined already in the .h include file.

Upvotes: 0

Related Questions