Я знаю, что эта тема довольно устарела.Я столкнулся с похожими проблемами при установке mpfr на WSL.Сборка была в порядке, и mpfr установлен правильно, но когда я написал небольшой C-файл, чтобы посмотреть, смогу ли я получить доступ к заголовочному файлу и распечатать версию для установки - я мог скомпилировать C-файл, но когда я попытался запустить скомпилированный объект -даст мне ошибку.Файл C был
#include <stdio.h>
#include <mpfr.h>
int main (void) {
printf ("MPFR library: %-12s\nMPFR header: %s (based on %d.%d.%d)\n",
mpfr_get_version (), MPFR_VERSION_STRING, MPFR_VERSION_MAJOR,
MPFR_VERSION_MINOR, MPFR_VERSION_PATCHLEVEL);
return 0;
}
Я компилировал это с
gcc -o version mpfr_presence.c -lmpfr -lgmp
Но когда я попытался запустить это с ./version
, я получил бы следующую ошибку,
./version: error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory
Я решил эту ошибку, используя,
sudo apt-get update
sudo apt-get install libmpfr4
А потом, когда сказал, что libmpfr4
уже в последней версии, просто чтобы быть уверенным,
sudo apt-get install --reinstall libmpfr4
Теперь ./version
дает мне
MPFR library: 4.0.1
MPFR header: 4.0.1 (based on 4.0.1)