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

标签 macos cocoa chromium-embedded

我正在做一个在 MacOSX 上使用 CEF 的小型概念证明。我采用了 Chromium Embedded Framework.framework 并通过运行更改了它的 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 中的路径时它还要寻找它?

为了确保我检查了 bundle 中包含的 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

我在这里缺少什么?

最佳答案

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

关于macos - 为什么在 Mac OS X 上找不到这个库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28807072/

相关文章:

objective-c - KVO : how to call setValue. .. 在 setValue 内并且不会进入无限循环?

objective-c - 如何动态更改nstableview中显示的行数

javascript - CefSharp javascript元素点击不起作用,但手动点击它可以

c# - 让视频在 CefSharp 中循环播放

python - 无法使用 pip 安装 openpifpaf 和 pycocotools。错误: Failed building wheel for openpifpaf/pycocotools

macos - Ubuntu/OSX 上 PhantomJS 的字体渲染差异

objective-c - NSTreeController 添加 :method not adding "after the current selection"

objective-c - 是否可以在现有 XCode 项目 (OS X) 中用 Chromium (CefBrowser) 替换 WebView?

c++ - 使用 C/C++ 访问 OS X 钥匙串(keychain)

linux - PureBasic - 我如何模拟按下 F1 或 F2 键盘按钮?