当我试图在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 '在那里,它不再介意了。不幸的是,它会抱怨找不到下一个增强库。

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


当前回答

我在使用asdf切换python版本后得到了这个错误。当你激活virtualenv时,它会感到困惑。

相反,像这样重新创建virtualenv

$ rm -rf venv
$ python -m venv venv

这一次当你激活virtualenv时,它会找到正确的python。

其他回答

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

我通过使用产品>清洁构建文件夹(CommandShiftK)修复了这个问题,这使得一个新的清洁构建,真的很奇怪。

我在使用asdf切换python版本后得到了这个错误。当你激活virtualenv时,它会感到困惑。

相反,像这样重新创建virtualenv

$ rm -rf venv
$ python -m venv venv

这一次当你激活virtualenv时,它会找到正确的python。

我忘记添加use_frameworks了!在我的播客里。我把它加回来,它起作用了。

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