当我试图在Mac OS X中运行一个可执行文件时,我得到以下错误

dyld: Library not loaded: libboost_atomic.dylib
  Referenced from: /Users/"Directory my executable is in"
  Reason: image not found
Trace/BPT trap:5

我已经安装了boost库,它们位于/opt/local/lib中。我认为这个问题与可执行文件只在它所在的目录中查找有关,因为当我粘贴'libboost_atomic。Dylib '在那里,它不再介意了。不幸的是,它会抱怨找不到下一个增强库。

有没有简单的方法来解决这个问题?


当前回答

让构建阶段的框架成为可选框架对我来说很有用。

在Xcode ->目标->构建阶段->链接二进制与库-> 确保新添加的框架(如果有的话)被标记为可选

其他回答

可以使用sudo install_name_tool -change change dylib路径 和 Sudo install_name_tool -id change dylib名称

快速修复

删除pod(其名称在错误中)通过在Podfile中注释它,如#Podname 运行pod安装 取消注释之前注释过的pod 再次运行pod install。

这对我来说很有效,所以分享它很容易。

Install_name_tool -add_rpath new_path可执行文件 Install_name_tool -delete_rpath old_path可执行文件

如果使用virtualenv,只需删除环境的文件夹并使用此命令重新创建它 Virtualenv——python=/usr/local/bin/python3 the_name_of_my_env . txt

要解决我的Macbook Catalina 10.15.4上的以下错误:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
    Referenced from: /usr/local/bin/mongoexport
    Reason: image not found
Abort trap: 6

我运行下面的命令,解决了上面的问题:

brew switch openssl 1.0.2s