为什么在 Mac OS X 上找不到这个库?

Why is this library not found on Mac OS X?

我正在对在 MacOSX 上使用 CEF 的概念做一个小的证明。我采用了 Chromium Embedded Framework.framework 并通过 运行ning 更改了它的 rpath:

install_name_tool -id "@rpath/Chromium Embedded Framework.framework/Chromium Embedded Framework" Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework

然后编译 运行 程序如下:

$ ./cefobjchelper.app/Contents/MacOS/cefobjchelper
dyld: Library not loaded: @executable_path/Chromium Embedded Framework
  Referenced from: /Users/pupeno/Library/Developer/Xcode/DerivedData/cefobjc-bxtruyemnyagwwgdejtzuxngovsr/Build/Products/Debug/./cefobjchelper.app/Contents/MacOS/cefobjchelper
  Reason: image not found
Trace/BPT trap: 5

我知道@executable_path/Chromium Embedded Framework 并不真正存在,但为什么当我在 CEF 中更正路径时它甚至在寻找它?

为了确保我检查了捆绑包中包含的 CEF 是否具有正确的路径并且确实如此:

$ otool -D cefobjchelper.app/Contents/Frameworks/Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework
cefobjchelper.app/Contents/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework:
@rpath/Chromium Embedded Framework.framework/Chromium Embedded Framework

我在这里错过了什么?

原因是之前的实验中有一个额外的框架路径,该路径是我主目录中其他地方的库的另一个副本,并且从链接库列表中删除该库并没有删除该路径,所以重新从新位置添加它,正在从旧位置拾取它,用于链接而不是嵌入。