0

我们编写了一个大量使用 QML 的应用程序,现在是时候尝试部署它了,由于对 QtWebKit 的依赖,我遇到了非常恼人的问题

我编译了应用程序,并且在我的计算机上一切正常。然后我在 .app 上运行 macdeployqt 脚本,无论出于何种原因,WebView QML 组件都在说:“未安装模块 QtWebKit”

在依赖 QtWebKit/WebView 的 OSX 上部署基于 QML 的应用程序的正确方法是什么?

4

2 回答 2

1

macdeployqt 尚未处理 QML 导入插件:http: //bugreports.qt-project.org/browse/QTBUG-14342

您可以手动进行(例如,对于 QMLViewer):

1)将你感兴趣的插件从$QTDIR/imports目录复制到$QTDIR/bin/QMLViewer.app/Contents/MacOS,这样就有了eg

QMLViewer.app/Contents/MacOS/QtWebKit/qmldir

2) 使用 install_name_tool 修复导入插件对 Qt 框架的引用:

install_name_tool -change /path/to/qt/*lib/QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore QMLViewer.app/Contents/MacOS/QtWebKit/libqmlwebkitplugin .dylib

对插件依赖的其他 Qt 库(至少 QtGui)执行相同的操作。

有关修复参考的更多信息,请参见http://doc.trolltech.com/4.7/deployment-mac.html

于 2010-11-08T05:06:50.203 回答
0

MartinJ 的回答让我很难受。

对于那些使用 Qt Quick 2 的人 - 使用QtWebkitfrom folder$QTDIR/qml代替,否则您将收到很多插件qtwebkit未实现的消息qqmltypesextensioninterface

于 2014-07-12T23:23:18.677 回答