Как использовать MPIR с Visual Studio?
Я академик, и мне нужно разработать некоторые числовые алгоритмы, для которых требуются функции из пакета MPIR http://mpir.org/downloads.html. Я скачал версию 3.0.0 и пытаюсь понять, как использовать это с Visual Studio 2017 в Windows 7 professional. Есть ли способ использовать пакет mpir с Visual Studio C/C++? Разделы 2.4 и 2.5 в этом документе http://mpir.org/mpir-3.0.0.pdf похоже, актуальны, но не сильно помогают.
2 ответа
Есть ли способ использовать пакет mpir с Visual Studio 2017 C/C++?
Да; Конечно вы можете. Вы используете его как любые другие интерфейсы C++.
Все типы и функции языка MPIR C могут использоваться в программах на C++, поскольку mpir.h имеет внешние квалификаторы "C", но интерфейс класса предлагает перегруженные функции и операторы, которые могут быть более удобными. В связи с реализацией этого интерфейса требуется относительно свежий компилятор C++, поддерживающий пространства имен, частичную специализацию шаблонов и шаблонов элементов. Для GCC это означает версию 2.91 или выше.
Что касается его сборки, вам необходим установленный MSVC++ в вашей системе, но MPIR 3.0.0 специально поддерживает его сборку из Visual Studio 2017. Это означает, что исходный код является необходимыми файлами решения.
Если у тебя есть
vcpkg
установить это очень просто:
m .\vcpkg install mpir mpir:x64-windows
Вы получаете отладку, выпуск,
x32
и
x64
не может быть проще. Если у вас нет
vcpkg
установить вы должны вот простое руководство См. следующие инструкции:
Моя сборка выглядела следующим образом
Computing installation plan...
The following packages will be built and installed:
mpir[core]:x64-windows
mpir[core]:x86-windows
Starting package 1/2: mpir:x64-windows
Building package mpir[core]:x64-windows...
-- Downloading https://github.com/wbhart/mpir/archive/mpir-3.0.0.tar.gz...
-- Extracting source C:/DEV/vcpkg/downloads/wbhart-mpir-mpir-3.0.0.tar.gz
-- Applying patch enable-runtimelibrary-toggle.patch
-- Using source at C:/DEV/vcpkg/buildtrees/mpir/src/mpir-3.0.0-c9f63a8302
-- Building C:/DEV/vcpkg/buildtrees/mpir/x64-windows/build.vc14/dll_mpir_gc/dll_mpir_gc.vcxproj for Release
-- Building C:/DEV/vcpkg/buildtrees/mpir/x64-windows/build.vc14/dll_mpir_gc/dll_mpir_gc.vcxproj for Debug
-- Performing post-build validation
-- Performing post-build validation done
Building package mpir[core]:x64-windows... done
Installing package mpir[core]:x64-windows...
Installing package mpir[core]:x64-windows... done
Elapsed time for package mpir:x64-windows: 2.77 min
Starting package 2/2: mpir:x86-windows
Building package mpir[core]:x86-windows...
-- Using cached C:/DEV/vcpkg/downloads/wbhart-mpir-mpir-3.0.0.tar.gz
-- Using source at C:/DEV/vcpkg/buildtrees/mpir/src/mpir-3.0.0-c9f63a8302
-- Building C:/DEV/vcpkg/buildtrees/mpir/x86-windows/build.vc14/dll_mpir_gc/dll_mpir_gc.vcxproj for Release
-- Building C:/DEV/vcpkg/buildtrees/mpir/x86-windows/build.vc14/dll_mpir_gc/dll_mpir_gc.vcxproj for Debug
-- Performing post-build validation
-- Performing post-build validation done
Building package mpir[core]:x86-windows... done
Installing package mpir[core]:x86-windows...
Installing package mpir[core]:x86-windows... done
Elapsed time for package mpir:x86-windows: 2.016 min
Total elapsed time: 4.786 min
Страница 18 вашего руководства гласит, чтобы открыть распакованное решение по адресу mpir/build.vc15/mpir.sln
и скомпилируйте сборку, которую вы хотели бы использовать. Существуют различные оптимизированные сборки, но я бы начал с общегоdll_mpir_gc
,
Это создаст библиотеки. Найдите папку, которая содержит сгенерированный .lib
файлы и добавьте его в свой проект, как описано в .Lib Files as Input Linker.