Установка GMP на MacOS X с помощью Xcode

Я пытаюсь использовать библиотеку GMP в своих программах на C и C++. Я делаю код, используя Xcode. Я следовал инструкциям по установке GMP на мою машину и в итоге получил папку "~/usr/local/gmp-5.0.5", в которой содержится файл gmp.h.

Как я могу сделать мои программы, чтобы увидеть эту библиотеку? если я решил сохранить мои программы на рабочем столе, например???

Где лучшее место для установки gmp-5.0.5??? Использование include "gmp.h" покажет ошибку "файл не найден".

2 ответа

Я сделал это так:

Загрузите GMP по https://gmplib.org/ (gmp-6.0.0a.tar.lz). Загрузите lzip с http://www.nongnu.org/lzip/lzip.html (lzip-1.16.tar.gz).

  1. установить lzip
    • распакуйте его: tar -xvf lzip-1.16.tar.gz
    • кд lzip-1.16
    • ./configure
    • делать
    • сделать проверку
    • make install (запустите его с помощью sudo, если вы получили сообщение об отказе в разрешении)
  2. установить gmp
    • скопируйте файл gmp-6.0.0a.tar.lz в /usr/local/lib (сделайте это с помощью sudo)
    • распакуйте lz: lzip -d gmp-6.0.0a.tar.lz
    • распакуйте tar: tar -xvf gmp-6.0.0a.tar
    • cd gmp-6.0.0 /
    • ./configure
    • делать
    • сделать проверку
    • make install (запустите его с помощью sudo, если вы получили сообщение об отказе в разрешении)
  1. Если вы установите библиотеку в /usr/local, вы сможете просто #include <gmp.h> и добавить -lgmp к настройкам компоновщика (Linking > Другие флаги компоновщика).

  2. Если вы настаиваете на помещении библиотеки в свой домашний каталог, скажите ~/local, то вам нужно будет добавить ~/local/include к вашим путям поиска заголовка (Пути поиска> Пути поиска заголовка), ~/local/lib в пути поиска вашей библиотеки (Пути поиска> Пути поиска библиотеки). Они находятся под настройками проекта или цели. Вам также нужно будет добавить -lgmp как указано выше.

Примечание об архитектурах: LibGMP довольно уникален тем, что он выбирает целевую архитектуру во время компиляции, и обычно выбирает 64-битную цель, где она доступна. Если ваш проект 32-битный, а ваш GMP 64-битный, связывание не удастся.

LibGMP делает это потому, что на 64-битных архитектурах операции выполняются намного быстрее. Умножение больших целых чисел может быть примерно в 4 раза быстрее на 64-битных и 32-битных.

Предупреждение: ваш проект не будет работать на компьютерах других людей, если они не установят GMP в первую очередь.

Предупреждение 2: Если вы статически связываетесь с GMP для упрощения установки, вам необходимо открыть приложение. Не статически связывать, если вы не согласны с этим.

Другие вопросы по тегам