当我尝试编译新安装的包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,我想我已经使用网站上的说明成功安装了该软件包。
关于如何解决它的任何想法?
答案 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
如果没有,请提供更多信息。