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

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

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

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


person user1483799    schedule 12.10.2012    source источник
comment
один из предыдущих постов рассказывает о конфигурации GMP на MAC, надеюсь, вы найдете эта ссылка полезная.   -  person AurA    schedule 12.10.2012


Ответы (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. install lzip
    • extract it: tar -xvf lzip-1.16.tar.gz
    • компакт-диск lzip-1.16
    • ./настроить
    • сделать
    • сделать чек
    • make install (запустите его с помощью sudo, если вы получили сообщение об отказе в разрешении)
  2. install gmp
    • copy the gmp-6.0.0a.tar.lz file to /usr/local/lib (do it with sudo)
    • извлеките lz: lzip -d gmp-6.0.0a.tar.lz
    • извлеките tar: tar -xvf gmp-6.0.0a.tar
    • компакт-диск gmp-6.0.0/
    • ./настроить
    • сделать
    • сделать чек
    • make install (запустите его с помощью sudo, если вы получили сообщение об отказе в разрешении)
person Diego Jaramillo    schedule 04.04.2015
comment
Мы могли бы загрузить gmp-6.0.0a.tar.bz2, а не версию *.lz. Команда для извлечения bz2: bzip2 -d -k gmp-6.0.0a.tar.bz2. Следующие шаги аналогичны. - person William; 23.01.2016

  1. Если вы установите библиотеку в /usr/local, вы сможете просто #include <gmp.h> добавить -lgmp в настройки компоновщика (Связывание > Другие флаги компоновщика).

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

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

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

Внимание! Ваш проект не будет работать на чужих компьютерах, пока они не установят GMP.

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

person Dietrich Epp    schedule 12.10.2012
comment
Что касается предупреждения: он может просто статически связать с GMP, и в этом случае людям не нужно будет его устанавливать, чтобы запустить приложение. - person Mihai Todor; 12.10.2012
comment
@MihaiTodor: если он статически ссылается на GMP, он должен открыть исходный код своего приложения. - person Dietrich Epp; 12.10.2012