2010-11-05 4 views
0

Nous avons écrit une application qui utilise intensément QML, et maintenant qu'il est temps d'essayer de le déployer, je suis confronté à des problèmes vraiment irritants en raison de la dépendance à QtWebKitDéploiement d'une application Qt QML sous OSX (avec WebKit)

Je compile l'application et tout fonctionne très bien sur mon ordinateur. Ensuite, je lance le script macdeployqt sur le fichier .app, et pour une raison quelconque le composant WebView QML dit: "Le module QtWebKit n'est pas installé"

Quelle est la bonne façon de déployer une application QML sur OSX qui repose sur QtWebKit/WebView?

Répondre

1

macdeployqt ne gère pas les plug-ins d'importation QML encore: http://bugreports.qt-project.org/browse/QTBUG-14342

Vous pouvez le faire manuellement (par exemple pour qmlviewer):

1) Copiez les plugins que vous êtes intéressé par le QTDIR $/importe le répertoire dans $ QTDIR/bin/QMLViewer.app/Contents/MacOS, de sorte qu'il y a par exemple

QMLViewer.app/Contents/MacOS/QtWebKit/qmldir

2) Fixer les références du module d'importation pour les cadres Qt en utilisant install_name_tool:

install_name_tool -change/chemin/vers/qt/* lib/QtCore.framework/versions/4/QtCore @executable_path /../ cadres/QtCore.framework/versions/4.0/QtCore QMLViewer.app/Contents/MacOS/QtWebKit/libqmlwebkitplugin.dylib

Faites la même chose pour la autres bibliothèques Qt dont dépend le plugin (au moins QtGui).

Plus d'informations sur les références de fixation se trouve dans http://doc.trolltech.com/4.7/deployment-mac.html

0

MartinJ's answer m'a donné un moment difficile.

Pour ceux qui utilisent Qt Quick 2 - utiliser QtWebkit du dossier $QTDIR/qml à la place, ou vous allez avoir beaucoup de messages plugin qtwebkit n'implémente pas qqmltypesextensioninterface.

Questions connexes