GMP очень удобен для выполнения операций с большим числом. Раньше он не устанавливался на Mac. При пересмотре новой версии «Структура данных для разработки алгоритмов (версия на языке C++)» нам нужно добавить некоторый контент, поэтому я установил его.
Текущая система - Big Sur 11.1, это свежая попытка, скачал gmp-6.2.1 и распаковал его (будьте осторожны, чтобы загрузитьgmp-6.2.1.tar.xzВам не нужно распаковывать его с помощью lz), поместите его в/usr/local/Под содержанием.
Установить до конца:
cd gmp-6.2.1/./configuremakemake checksudo make install
первоначальноinclude <gmp.h>Его можно случайно использовать в командной строке, но, к сожалению, я пробовал XCode, это слишком хлопотно, решение:
-
Search Paths > Header Search Pathsдобавить/usr/local/include. -
Search Paths > Library Search Pathsдобавить/usr/local/lib. -
Linking > Other Linker Flagsдобавить-lgmp.
Я думал, что все в порядке, и, наконец, сообщил об ошибке:
-
ld: symbol(s) not found for architecture arm64.
Присмотритесь, я его раньше регулировал в угоду скорости.Releaseрежим, по умолчаниюBuild Active ArtchitectureзаNo, но GMP, похоже, не поддерживает этоarm64, так изменилосьBuild Active ArtchitectureзаYesпросто отлично, илиExcluded ArtchitecturesПучокarm64Вы также можете исключить его.
Предупреждение:ld: warning: ignoring file /usr/local/lib//libgmp.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64, я надеюсь, что друзья с чипом M1 смогут протестировать его.
Кажется, у Homebrew есть обсуждение по этому поводу, я посмотрю, когда освобожусь:
Get GMP building on Apple Silicon #57315
ghc: apply arm64 compatibility patch to static gmp #57892