ОБНОВЛЕНИЕ: см. Страницу проекта MPIR для ответа на все ваши проблемы (это позволяет вам создать MPIR, GMP-совместимую библиотеку и MPFR с Visual Studio).Новая домашняя страница MPIR расположена здесь , но, насколько я могу судить, не хватает информации MPFR.
Вам не нужен Cygwin.
Вам нужнооболочка Bash и MinGW (.org / -w64).Если вы строите с помощью компилятора cygwin, вам нужно связать его с DLL-библиотекой Cygwin, которая в вашем случае глупа, поскольку GMP и MPFR оба могут быть собраны MinGW.
Единственное, что я не верюлюбая библиотека может быть построена с помощью MSVC, и MSVC не может связываться с библиотеками MinGW (именно поэтому авторы вашего проекта связывают библиотеки DLL и библиотеки импорта), поэтому вам нужно будет собрать все с MinGW GCC или использовать библиотеки DLL.
Ниже приведены инструкции по созданию статической библиотеки GCC для GMP и MPFR.
Чтобы создать GMP для Windows с MinGW-w64 GCC, вам потребуется MSYS .Распакуйте его куда-нибудь, например C: \ Dev \ msys, чтобы присутствовал C: \ Dev \ msys \ bin \ sh.exe.
Тогда вам потребуется GCC MinGW-w64:
(я рекомендую мои "Персональные сборки", особенно 4.6.3-1. Загрузите пакет 4.6.3-1-gcc_rubenvb.7z, но любой другой пакет MinGW должен сделать это)
Распакуйте его, чтобы сказать C: \ Dev \ mingw64, чтобы C: \ Dev \mingw64 \ bin \ gcc.exe существует.
Дважды щелкните C: \ Dev \ msys \ msys.bat.Введите:
export PATH=/c/Dev/mingw64/bin:$PATH
и нажмите ввод.Разархивируйте исходный код GMP и MPFR в каталог / home / USERNAME / *, создайте каталоги сборки и не забудьте использовать для конфигурации:
--enable-static --disable-shared --prefix=/easytemplibinstalldir
вместе с
--host=i686-w64-mingw32
для 32-разрядных или
--host=x86_64-w64-mingw32
для 64-разрядных.Я считаю, что GMP также требует, чтобы --build
был установлен на то же значение.После того, как конфигурация завершится, введите make
, а затем make install
, опционально предшествующий make check
.
Вы должны иметь libgmp.a в / easytemplibinstalldir / lib.Для MPFR добавьте
--with-gmp=/easytemplibinstalldir
в его строку конфигурации.
Вам придется вручную связать libgmp и libmpfr в правильном порядке, чтобы это работало, автоматическое связывание зависимостей невозможноWindows для этого.