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/
./configure
make
make check
sudo 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