Инструкции по использованию библиотек GMP и MPIR в системе Windows

MPIR с инструментами Visual Studio

  1. Загрузить исходные коды библиотеки и распаковать их.
  2. Открыть решение mpir.sln из подкаталога разархивированных исходных кодов библиотеки:
    • build.vc10 — для среды Visual Studio 2010;
    • build.vc11 — для среды Visual Studio 2012;
    • build.vc12 — для среды Visual Studio 2013 и Visual Studio Express 2013;
    • build.vc14 — для среды Visual Studio 2015.
  3. Для всех требуемых конфигураций ("Debug"/"Release") и платформ ("Win32"/"x64") собрать следующие проекты:
    • при желании собрать MPIR в виде динамической библиотеки — проект dll_mpir_gc;
    • при желании собрать MPIR в виде статической библиотеки — проекты lib_mpir_gc и lib_mpir_cxx.
  4. Создать в среде Visual Studio консольный проект вместе с новым решением.
  5. При создании проекта в мастере приложений на странице "Параметры приложения" убрать отметку "Предварительно откомпилированные заголовки".
  6. В созданном проекте оставить только один исходный файл с расширением cpp, содержащий функцию main(). Изменить его содержимое на следующее:

    #include <mpirxx.h>
    
    #include <iostream>
    
    int main()
    {
      mpz_class m1("123"), m2(456);
      mpz_class mr = m1 + m2;
      std::cout << mr << std::endl;
    }
    
  7. Открыть свойства проекта, выбрать вверху в поле "Конфигурация" значение "Все конфигурации", а в поле "Платформа" — "Все платформы".

  8. В свойствах проекта перейти во вкладку "Свойства конфигурации""Компоновщик""Ввод", в поле "Дополнительные зависимости" добавить библиотеку mpir.lib. Если используется статическая версия библиотеки MPIR, также добавить сюда библиотеку mpirxx.lib.
  9. Дополнительно можно отключить предупреждения компилятора с кодами C4146, C4244 и C4800. Для этого в свойствах проекта перейти во вкладку "Свойства конфигурации""C/C++""Дополнительно" в поле "Отключить некоторые предупреждения" добавить "4146;4244;4800".
  10. Если используется статическая версия библиотеки MPIR, в свойствах проекта перейти во вкладку "Свойства конфигурации""C/C++""Создание кода". Выбрать вверху в поле "Конфигурация" значение "Debug". После этого в поле "Библиотека времени выполнения" поменять настройку с "Многопоточная отладка DLL (/MDd)" на "Многопоточная отладка (/MTd)". Затем выбрать в поле "Конфигурация" значение "Release" и аналогичным образом поменять в этом же поле настройку "Многопоточная отладка (/MTd)" на "Многопоточная (/MT)".
  11. В свойствах проекта перейти во вкладку "Свойства конфигурации""Каталоги VC++". Выбрать вверху в поле "Конфигурация" значение конкретной конфигурации, например, "Debug". Аналогично, в поле "Платформа" выбрать конкретную платформу, например, "Win32".
  12. В поле "Каталоги включения" добавить каталог:

    D:\Work\mpir-2.7.2\build.vc14\lib_mpir_gc\Win32\Debug\
    

    Здесь прредполагается, что:

    • исходные коды библиотеки были помещены в каталог D:\Work\;
    • используется MPIR версии 2.7.2 (mpir-2.7.2);
    • используется среда разработки Visual Studio 2015 (build.vc14);
    • используется статическая версия библиотеки MPIR (lib_mpir_gc);
    • настраиваются свойства проекта для платформы "Win32" (Win32);
    • настраиваются свойства проекта для конфигурации "Debug" (Debug).
  13. В поле "Каталоги библиотек" добавить тот же самый каталог. Если используется статическая версия библиотеки MPIR, в это поле также необходимо добавить следующий каталог (в предыдущих предположениях):

    D:\Work\mpir-2.7.2\build.vc14\lib_mpir_cxx\Win32\Debug\
    
  14. Закрыть свойства проекта и собрать его.

  15. Если используется динамическая версия библиотеки MPIR, перед запуском собранного приложения скопировать в каталог с ним библиотеку mpir.dll, которая находится в каталоге (в предыдущих предположениях):

    D:\Work\mpir-2.7.2\build.vc14\dll_mpir_gc\Win32\Debug\
    

GMP с инструментами MinGW

  1. Загрузить и установить любую реализацию компилятора gcc-MinGW, например, TDM-GCC или его предыдущую версию в составе интегрированной среды Code::Blocks.
  2. Загрузить и установить командную оболочку MSYS.
  3. В конфигурационном файле MSYS (файл etc\profile) в подкаталоге установки MSYS) указать путь к ранее установленному компилятору gcc в переменной PATH - где-нибудь добавить строку:

    export PATH="/e/Programs/TDM-GCC-32/bin:$PATH"
    

    (Здесь предполагается, что компилятор был установлен в каталог e:\Programs\TDM-GCC-32\).

  4. Также можно для удобства работы с командной строкой можно отредактировать файл msys.bat - в строке:

    set MSYSCON=unknown
    

    unknown заменить на rxvt.exe. Также в строке запуска:

    start %WD%rxvt ...
    

    исправить аргументы вызова команды, настраивающие шрифт (можно указать -fn Consolas-12) и размеры окна (-geometry 80x40) или подобные.

    В качестве альтернативы можно использовать сторонний эмулятор терминала ConEmu.

  5. Загрузить исходные коды библиотеки и распаковать их.
  6. Запустить MSYS, выполнив команду msys.bat или соответствующую команду в ConEmu, перейти в каталог с исходными кодами библиотеки:

    cd /d/Work/gmp-6.0.0/
    

    Здесь предполагается, что исходные коды были разархивированы в каталог d:\Work\.

  7. Выполнить команды:

    ./configure --prefix=/d/Work/install --enable-cxx
    make
    make check
    make install
    

    (Здесь предполагается, что библиотека устанавливается в каталог d:\Work\install).

  8. Создать тестовую программу, использующую библиотеку GMP:

    #include <gmpxx.h>
    
    #include <iostream>
    
    int main()
    {
      mpz_class m1("123"), m2(456);
      mpz_class mr = m1 + m2;
      std::cout << mr << std::endl;
    }
    
  9. Перейти в каталог с тестовой программой:

    cd /d/Work/test/
    

    (Здесь предполагается, что текст программы был сохранён в файле d:\Work\test\test-gmp.cpp).

  10. Скомпилировать программу командой:

    g++ -I /d/Work/install/include/ -L /d/Work/install/lib/ test-gmp.cpp -lgmpxx -lgmp
    
  11. Запустить откомпилированную программу:

    ./a.exe
    
Последнее изменение: Thursday, 25 February 2016, 03:15