2013-12-08 98 views
25

我在本周通常使用gdb。现在运行gdb我看到:dyld:库未加载,原因:找不到图像

(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的

P.S.安装

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

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

例如,本主题:dyld issues library not loaded 但如何再次下载库?

或者本主题:Dyld: Library not loaded 但是如何找到安装名?什么是@rpath

回答

6

我如何固定它:

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

    的./configure --with-CXX =克++ --with-CC = GCC --with-LD =克++

  5. 我已经重新编译MyProg

现在我可以使用gdb进行调试。

1

您可以找到有关rpath的位置的详细信息:link

所以,你需要的路径指向您libCore.so,但老实说,我还没有碰到这样的库,所以我不知道位于何处。

您还可以检查这个答案,了解它是什么rpath的:answer

+0

我看到这个链接解决了这个问题。但它感觉就像是为XCode开发人员描述了一些东西,而我错过了非常基础的东西。该链接不回答如何找到@rpath的值的问题...我发现我可以在一些名为Target Info的窗口中找到值,但我不知道如何找到这些窗口..... – klm123

+0

我有在答案中增加新的链接也许它会对你有用。请检查答案。 –

+0

我明白了......谢谢。 – klm123

28

我在常规项目设置中使用“嵌入式二进制文件”解决了此问题。

+0

解决了它...... thx !!! – Georg

+0

是的,这与迦太基一起工作。迦太基指令(截至2015年5月23日)声明要添加到链接的库 - 但我删除并通过嵌入式二进制文件添加它。然后它(自己)出现在链接库中。现在所有的作品。 –

9

我已经通过更改以下设置

转到项目设置Your_Target->常规 - >嵌入式Binaries->点击+按钮,并在此处添加您的库

+0

这对我有效... – commando24

相关问题