直到本周我才正常使用gdb。现在运行gdb我看到了:
(gdb) r
Starting program: /Volumes/MyProg
dyld: Library not loaded: @rpath/libCore.so
Referenced from: /Volumes/MyProg
Reason: image not found
(gdb)
如何解决?
我有:
P.S。
我重新安装了gdb和Xcode。这没有用。
我看到很多关于dyld问题的问题,但显然我缺乏OSX上的库的经验,而且它们对我来说似乎毫无用处。
例如,此主题:dyld issues library not loaded 但是如何再次下载库?
或者这个话题:Dyld: Library not loaded
但是如何找出安装名称?什么是@rpath
?
答案 0 :(得分:29)
我用"嵌入式二进制文件"解决了这个问题。在常规项目设置中。
答案 1 :(得分:10)
我通过更改以下设置解决了这个问题
转到项目设置Your_Target-> General-> Embedded Binaries->单击+按钮并在此处添加库
答案 2 :(得分:6)
我如何解决它:
libCore.so
是来自ROOT framework的MyProg
使用的库。Library not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not found
表示链接器找到了库,但无法使用它。MyProg
使用gcc。我已经用gcc编译器重新安装了root:
./ configure --with-cxx = g ++ --with-cc = gcc --with-ld = g ++
我已重新编译MyProg
。
现在我可以用gdb调试它。
答案 3 :(得分:1)
您可以在此处找到有关rpath的更多信息:link
所以你需要指向你的libCore.so的路径,但老实说,我没有面对这个库,所以我不知道它在哪里。
您也可以查看此答案以了解它是什么rpath:answer
答案 4 :(得分:0)
对于Xcode 11或更高版本,如果您使用Cocoapods,还有另一种更简单的解决方案对我有用。
在您的Podfile中,添加use_frameworks!在您的目标行之后-
target 'YourAppName' do
use_frameworks!
基本上,它将所有吊舱作为框架添加到框架文件夹中。