Ошибка компиляции с пакетом MPFR на Mac

Когда я пытаюсь скомпилировать вновь установленный пакет MPFR, я получаю следующую ошибку:

Undefined symbols for architecture x86_64: "_mpfr_init2", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я использую Codelite на MacBook Pro и думаю, что успешно установил пакет, используя инструкцию на сайте.

Есть идеи, как это решить?

1 ответ

Исходя из ограниченной информации, я подозреваю, что вы не связываете библиотеку MPFR во время фазы связывания main.cpp. Какую команду вы используете?

Удостоверься что -lmpfr передается в конце команды clang++, например:

clang++ main.cpp -lmpfr

или же:

clang++ main.cpp -c
clang++ main.o -lmpfr

Если libmpfr.so установлен в нестандартном месте, то вам нужно указать компилятору, где, используя -L опция:

clang++ main.cpp -L"$MPFR_PATH" -lmpfr

или же:

clang++ main.cpp -c
clang++ main.o -L"$MPFR_PATH" -lmpfr

Если нет, то, пожалуйста, предоставьте больше информации.

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