当我试图在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升级了他们的IDE,他们改变了一些功能。

它曾经被分成单独的部分,如上所示,“嵌入式二进制文件”和“链接框架和库”作为单独的部分。

现在,它是一个组合的部分,右边有关于应该嵌入什么的下拉列表。

一开始我很困惑,但现在完全说得通了。

其他回答

在我的情况下,这是节点是过时的,你需要升级后,去BigSur - brew升级节点

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

在目标的General选项卡中,有一个称为框架、库和嵌入式内容的部分

点击+号,添加所需的框架,崩溃就解决了。

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

我只是使用brew upgrade <工具>。在我的例子中,酿造upgrade tmux。

最好的一个是上面回答的,首先检查输出是什么

otool -L

如果不正确,就按下面的步骤做

set_target_properties(
    MyTarget
    PROPERTIES
    XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS
    "@executable_path/Frameworks @loader_path/Frameworks"
)

And

set_target_properties(
        MyTarget
        PROPERTIES
        XCODE_ATTRIBUTE_DYLIB_INSTALL_NAME_BASE 
        "@rpath"