Trying to include mpreal.h and says can't find it?

Jan 4, 2017 at 6:28am
Okay, I wanted to play around with "Multiple precision arithmetic" so I copied the "mpreal.h" file into my project directory. I changed a couple of "long double" variables to "mpreal" variables and compiled with VS 2015 Community. All good, compiled okay :)

Switched everything off after "saving" and went out for lunch.

Came back switched everything back on, changed a few more variables to "mpreal" and compiled. Got this error

Source.cpp(38): fatal error C1083: Cannot open include file: 'mpreal.h': No such file or directory

What the!? Worked before lunch!?

It is there but I copied it again into the inner project directory too. Still the same error.

I opened the "mpreal.h" as a tab beside my "Source.cpp" tab - still the same error.

Please tell this newbie what is the matter!?

In desperation I copied the "mpreal.h" file into the include directory - still errored....

:(

Edit: By really playing around with the #include statements I managed to get rid of "not found" errors.

It now compiles BUT if displays all these errors....

1>------ Build started: Project: ProjTech, Configuration: Release x64 ------
1>Source.obj : error LNK2001: unresolved external symbol mpfr_mul_si
1>Source.obj : error LNK2001: unresolved external symbol mpfr_sub
1>Source.obj : error LNK2001: unresolved external symbol mpfr_div_si
1>Source.obj : error LNK2001: unresolved external symbol mpfr_add
1>Source.obj : error LNK2001: unresolved external symbol mpfr_set_default_prec
1>Source.obj : error LNK2001: unresolved external symbol mpfr_cmp_si_2exp
1>Source.obj : error LNK2001: unresolved external symbol mpfr_swap
1>Source.obj : error LNK2001: unresolved external symbol mpfr_get_default_rounding_mode
1>Source.obj : error LNK2001: unresolved external symbol mpfr_init2
1>Source.obj : error LNK2001: unresolved external symbol mpfr_set_si
1>Source.obj : error LNK2001: unresolved external symbol mpfr_get_d
1>Source.obj : error LNK2001: unresolved external symbol mpfr_cmp_ld
1>Source.obj : error LNK2001: unresolved external symbol mpfr_set_ld
1>Source.obj : error LNK2001: unresolved external symbol mpfr_mul
1>Source.obj : error LNK2001: unresolved external symbol mpfr_mul_d
1>Source.obj : error LNK2001: unresolved external symbol mpfr_get_default_prec
1>Source.obj : error LNK2001: unresolved external symbol mpfr_set_d
1>Source.obj : error LNK2001: unresolved external symbol mpfr_d_div
1>Source.obj : error LNK2001: unresolved external symbol mpfr_si_div
1>Source.obj : error LNK2001: unresolved external symbol mpfr_set4
1>Source.obj : error LNK2001: unresolved external symbol mpfr_clear
1>A:\Projects\ProjTech\x64\Release\ProjTech.exe : fatal error LNK1120: 21 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Could someone please tell me what I'm doing wrong or not doing?

Thanks in anticipation....
Last edited on Jan 4, 2017 at 11:24am
Jan 4, 2017 at 2:21pm
Those errors are telling you that mpreal.cpp was not compiled, or if it was, mpreal.obj was not linked into your executable.
Last edited on Jan 4, 2017 at 2:21pm
Jan 5, 2017 at 12:39am
Thanks for your response. By including pmir.h, gmp.h, mpfr.h, DLLs and LIBs I eventually got the compile to work.

The program doesn't work mind you but the compile does :)

If I remove the "mpreal" and replace with "double" the program works again so I'm at a loss.... (again) ;)
Topic archived. No new replies allowed.