如何使Qt Creator在Mac OS X上添加CEF框架到DEST_DIR

How to make Qt Creator add CEF framework to DEST_DIR on Mac OS X?

本文关键字:框架 CEF 添加 DEST DIR Qt 何使 Creator OS Mac      更新时间:2023-10-16

我正在Qt Creator中的一个协作项目上工作,我已经设法让它编译:我链接了CEF框架和CEF dll包装器。然而,当我试图运行它时,我得到:

dyld: Library not loaded: @executable_path/Chromium Embedded Framework
Reason: image not found

就我的理解而言,框架需要复制到我的DEST_DIR,到。app/Contents/MacOS或类似的东西。我没有设法使它的工作,甚至通过复制那里手动框架。此外,由于开发是跨平台的,我想知道是否有一种方法告诉qmake如何将框架复制到我的DEST_DIR。对于理解如何在Qt Creator中处理Mac OS X上的框架,任何帮助都将非常感激。

就我的理解而言,框架需要复制到我的DEST_DIR,到。app/Contents/MacOS或类似的东西。

你就快到了。框架通常被复制到

.app/内容/框架

然而,你的bundle的可执行文件包含了一个引用,它期望这些框架库驻留在哪里,并将它们复制到app bundle中,你需要告诉可执行文件它们在哪里。

使用oTool-L参数,您可以看到可执行文件引用的库。你可以叫它全路径。例如

otool -L /Applications/Calculator.app/Contents/MacOS/Calculator

对于框架中的每个dylib,您需要使用命令行工具install_name_tool

修复路径

为Qt部署Qt应用程序时,我们必须运行macdeployqt。这本质上对Qt框架做同样的事情;将它们复制到相关的Frameworks文件夹中,并更新路径。

我自己没有使用过,但是根据文档,macdeployqt支持处理第三方框架,带有选项-executable=<路径>