【问题标题】:dyld: Library not loaded, Reason: image not founddyld:库未加载,原因:找不到图像
【发布时间】:2013-12-25 16:03:37
【问题描述】:

直到这周我都正常使用 gdb。现在运行 gdb 我看到了:

(gdb) r
Starting program: /Volumes/MyProg 
dyld: Library not loaded: @rpath/libCore.so
  Referenced from: /Volumes/MyProg
  Reason: image not found
(gdb) 

如何解决?

我有:

  • OSX 10.9
  • GNU gdb (GDB) 7.6 与 MacPorts 一起安装

附言

我已经重新安装了 gdb 和 Xcode。这没有帮助。

我看到很多关于 dyld 问题的问题,但显然我缺乏使用 OSX 库的经验,而且它们对我来说似乎毫无用处。

例如这个话题:dyld issues library not loaded 但是如何重新下载库呢?

或者这个话题:Dyld: Library not loaded 但是如何找出安装名称?什么是@rpath

【问题讨论】:

    标签: macos gdb shared-libraries


    【解决方案1】:

    您可以在此处找到有关 rpath 的更多信息:link

    所以你需要指出你的 libCore.so 的路径,但老实说我没有遇到过这个库,所以我不知道它在哪里。

    您也可以查看此答案以了解它是什么 rpath:answer

    【讨论】:

    • 我看到了这个链接。但感觉它为 XCode 开发人员描述了一些东西,我很怀念一些基础知识。该链接没有回答如何找到@rpath 的值的问题......我看到我可以在一些名为 Target Info 的窗口中找到值,但我不知道如何找到这些窗口.....
    • 我在答案中添加了新链接,也许它对您有用。请检查答案。
    • 这个答案有用吗?我认为如果不是,您需要等待一些已经面临与您的情况相同的问题的程序员。
    • @kim123 或者你可以为这个问题提供赏金
    • 好的,你能回答你的问题吗,因为这对有同样问题的人会有帮助。
    【解决方案2】:

    我是如何解决的:

    1. libCore.soROOT framework 的一个库,MyProg 使用它。
    2. 如果我理解正确,消息Library not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not found 表示链接器找到了该库,但无法使用它。
    3. Root,安装过程中默认使用clang。同时,我更喜欢 gcc,MyProg 使用 gcc。
    4. 我已经用 gcc 编译器重新安装了 root:

      ./configure --with-cxx=g++ --with-cc=gcc --with-ld=g++

    5. 我已经重新编译了MyProg

    现在我可以用 gdb 调试它了。

    【讨论】:

      【解决方案3】:

      我通过常规项目设置中的“嵌入式二进制文件”解决了这个问题。

      【讨论】:

      • 是的,这适用于迦太基。 Carthage 指令(截至 2015 年 5 月 23 日)状态添加到链接库 - 但我删除了它并通过嵌入式二进制文件添加它。然后它(单独)出现在链接库中。现在一切正常。
      【解决方案4】:

      我已经通过更改以下设置解决了这个问题

      转到项目设置 Your_Target->General->Embedded Binaries-> 单击 + 按钮并在此处添加您的库

      【讨论】:

      • 试试这个但不工作如何删除未找到的图像错误
      【解决方案5】:

      对于 Xcode 11 或更高版本,如果您使用的是 Cocoapods,还有另一个更简单的解决方案对我有用。

      在您的 Podfile 中,添加 use_frameworks!在你的目标线之后 -

      target 'YourAppName' do
        use_frameworks!
      

      基本上,它会将您所有的 pod 作为框架添加到您的框架文件夹中。

      【讨论】:

        猜你喜欢
        • 2012-03-20
        • 2013-07-16
        • 1970-01-01
        • 1970-01-01
        • 2020-05-12
        • 2020-01-28
        • 2010-11-30
        • 1970-01-01
        • 2018-03-26
        相关资源
        最近更新 更多