当我在项目上运行“make”时,我收到此错误:
dyld: Library not loaded: /usr/local/lib/libmpfr.4.dylib
Referenced from: /Users/Petrov/Downloads/mips/bin/../libexec/gcc/mipsel-elf/4.8.1/cc1
Reason: image not found
libmpfr.4.dylib
中没有/usr/local/lib
个文件,但有libmpfr.6.dylib
。我安装了mpfr 4.0.1。我已经尝试重新安装Xcode和mpfr。
答案 0 :(得分:41)
我在Mac上遇到过类似的问题。我通过使用brew
升级“gawk”来修复它brew upgrade gawk
答案 1 :(得分:5)
我这样解决了。
ln -s /usr/local/opt/mpfr/lib/libmpfr.6.dylib /usr/local/opt/mpfr/lib/libmpfr.4.dylib
答案 2 :(得分:2)
@ Vinc17在对@neosarchizo提出的解决方案的评论中是正确的,如果引用另一个版本 HOWEVER ,在我的情况下,运行以下命令,符号链接可能会出现问题:
locate libmpfr.4.dylib
表明我确实在其他目录中具有正确的库:
/opt/local/lib/libmpfr.4.dylib
所以对我来说,我觉得使用符号链接方法绝对安全,即:
sudo ln -s /opt/local/lib/libmpfr.4.dylib /usr/local/lib/libmpfr.4.dylib
可能是黑客,但问题已解决。
答案 3 :(得分:1)
错误的原因是您已从MPFR 3.1.x升级到MPFR 4.0.x,这与MPFR 3.1.x不兼容(MPFR 4.0.x库不能与针对MPFR编译的程序一起使用) 3.1.X)。因此,从libmpfr.4.dylib(用于MPFR 3.0.x和MPFR 3.1.x)更改为libmpfr.6.dylib(至少用于MPFR 4.0.x)。
为避免错误,您应该做的是安装MPFR 4.0.x而不从MPFR 3.1.x卸载libmpfr.4.dylib:所有新编译的软件都将使用MPFR 4.0.x和libmpfr。 6.dylib,但依赖于MPFR的旧二进制文件仍然可以使用libmpfr.4.dylib运行(一个可能的例外是当MPFR有两个不同的依赖关系时,通过库,其中libmpfr.4.dylib和libmpfr可能需要.6.dylib,在这种情况下,这可能不起作用。)
现在,您应该重新编译Xcode。如果您已经编译了Xcode(来自二进制包),请确保您获得针对MPFR 4.0.x编译的一个,或者包含libmpfr.4.dylib文件的编译器。如果无法做到这一点,则应重新安装MPFR 3.1.x.然后你应该能够安装MPFR 4.0.x而无需删除libmpfr.4.dylib,如上所述。
答案 4 :(得分:0)
使用系统工具链进行编译:
export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH.