我们编写了一个大量使用QML的应用程序,现在是时候尝试部署它了,因为依赖QtWebKit,我遇到了令人烦恼的问题
我编译了应用程序,一切都在我的计算机上运行正常。然后我在.app上运行macdeployqt脚本,无论出于什么原因,WebView QML组件都说:“未安装模块QtWebKit”
在依赖于QtWebKit / WebView的OSX上部署基于QML的应用程序的正确方法是什么?
答案 0 :(得分:1)
macdeployqt尚未处理QML导入插件: http://bugreports.qt-project.org/browse/QTBUG-14342
您可以手动执行此操作(例如,对于QMLViewer):
1)将您感兴趣的插件从$ QTDIR / imports目录复制到$ QTDIR / bin / QMLViewer.app / Contents / MacOS,这样就可以了。
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
答案 1 :(得分:0)
MartinJ's answer让我很难过。
对于使用Qt Quick 2的用户 - 使用文件夹QtWebkit
中的$QTDIR/qml
代替,或者您将会收到很多插件qtwebkit
未实现的消息{ {1}}。