当前位置: 首页 > 知识库问答 >
问题:

DYLD:库未加载...原因:找不到映像

皇甫才良
2023-03-14
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'时,它不再介意它了。不幸的是,它抱怨找不到下一个boost库。

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

共有1个答案

吕华彩
2023-03-14

查找所有boost库(其中exefile是可执行文件的名称):

$ otool -L exefile
exefile:
        @executable_path/libboost_something.dylib (compatibility version 0.7.0, current version 0.7.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

对于每个libboost_xxx.dylib,执行:

$ install_name_tool -change @executable_path/libboost_something.dylib /opt/local/lib/libboost_something.dylib exefile

最后再次使用oTool进行验证:

$ otool -L exefile
exefile:
        /opt/local/lib/libboost_something.dylib (compatibility version 0.7.0, current version 0.7.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 65.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
 类似资料:
  • 我已经安装了boost库,它们位于中。我认为这个问题与可执行文件只在它所在的目录中查找有关,因为当我将'libboost_atomic.dylib'粘贴在那里时,它不再介意它了。不幸的是,它抱怨找不到下一个boost库。 有什么简单的方法可以解决这个问题吗?

  • 这仅适用于Mac OS Catalina 10.15.4 尝试在nano$home/.zshenv中设置环境变量 路径如下所示export java_home=$home/library/java/javaVirtualMachines/jdk-14.0.1.jdk 尝试删除JDK,然后重新安装,未成功 我在终端中输入java-version并得到错误。 错误:dyld:未加载库:@rpath/l

  • 我从我的Mac机器上的源代码安装了GMT4。现在,当我尝试使用来自GMT的任何命令(例如pscoast)时,它会导致以下错误:“dyld:Library not Loaded:@rpath/libnetcdf.13.dylib Referenced from:***********/gmt4.5.16/bin/pscoast reason:image not found Abort trap:6”

  • 我正在运行我的应用程序从xcode到我的iOS设备,我得到这个和黑屏在iOS设备。 控制台文本:

  • 我正在尝试创建一个基本的OS X框架,现在我只创建了一个测试框架:,我正在尝试将它导入到一个全新的OS X应用程序项目中。 我已经构建了.framework文件并将其导入到新项目中,框架看起来链接良好,并且我可以引用添加到framework build phases部分的公共头文件。 但是,当我尝试运行容器应用程序时,我得到以下错误: 在搜索了一下之后,我意识到我需要在我的容器应用程序构建阶段中添

  • 问题内容: 将Swift类添加到旧的Xcode项目后,出现此错误。 如何使项目再次运行? 问题答案: 对我来说,以前的解决方案都不起作用。我们发现在“构建设置” 中有一个标志(在早期版本中:“嵌入式内容包含Swift代码”)需要设置为YES。默认情况下是NO!