Macos dyld:未加载库,原因:未找到图像
直到本周之前,我一直使用gdb。现在运行gdb,我看到:Macos dyld:未加载库,原因:未找到图像,macos,gdb,shared-libraries,Macos,Gdb,Shared Libraries,直到本周之前,我一直使用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 安装了MacPorts的GNU gdb(gdb)7.6 附言 我已经重新安装了gdb和X
(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
- 安装了MacPorts的GNU gdb(gdb)7.6
但是如何找到安装名呢?什么是
@rpath
?您可以在此处找到有关rpath的更多信息:
因此,您需要指向libCore.So的路径,但老实说,我没有遇到过这个库,所以我不知道它位于何处
您也可以检查此答案以了解它是什么rpath:我是如何修复它的:
libCore.so
是一个库,由MyProg
使用Library not loaded:@rpath/libCore.so reference from:/Volumes/MyProg原因:image not found
表示链接器找到了库,但无法使用它MyProg
使用gccMyProg
现在我可以用gdb调试了。我在常规项目设置中用“嵌入式二进制文件”解决了这个问题。我通过更改以下设置解决了这个问题
转到Project Setting Your_Target->General->Embedded Binaries->单击+按钮并在此处添加库对于Xcode 11或更高版本,如果您使用Cocoapods,还有一个更简单的解决方案对我有效 在您的Podfile中,添加use_框架!像这样在你的目标线之后-
target 'YourAppName' do
use_frameworks!
基本上,它将所有的pod作为框架添加到框架文件夹中。我看到了这个链接。但它给XCode开发人员的感觉是,它描述了一些东西,我错过了非常基本的东西。该链接没有回答如何找到@rpath的值的问题。。。我知道我可以在一些名为Target Info的窗口中找到值,但我不知道如何找到这些窗口……我已经添加了新的链接来回答这个问题,也许它对您有用。请检查答案。这个答案有用吗?我想如果不是,你需要等待一些已经面临同样问题的程序员,比如你的案例。@kim123或者你可以为这个问题掷赏金,好的,你能回答你的问题吗,因为这对有同样问题的人会有帮助。是的,这与迦太基合作过。《迦太基指令》(截至2015年5月23日)规定要添加到链接库中,但我删除了该指令,并通过嵌入的二进制文件添加了该指令。然后它(自己)出现在链接库中。现在所有的工作。尝试这一个,但不工作如何可能删除未找到的图像错误