使用mac

时间:2017-06-22 09:34:06

标签: c++ mpfr

当我尝试编译新安装的包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)

我在macbook pro上使用Codelite,我想我已经使用网站上的说明成功安装了该软件包。

关于如何解决它的任何想法?

1 个答案:

答案 0 :(得分:0)

根据给出的有限信息,我怀疑您在main.cpp的链接阶段没有链接MPFR库。您使用的确切命令是什么?

确保在clang ++命令的末尾传递-lmpfr,如下所示:

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

如果没有,请提供更多信息。