Развертывание приложения на основе QT QML на OSX (с WebKit)

StackOverflow https://stackoverflow.com/questions/4107026

  •  29-09-2019
  •  | 
  •  

Вопрос

Мы написали приложение, которое широко использует QML, и теперь, когда пришло время попытаться развернуть его, я сталкиваюсь с действительно раздражающими проблемами из -за зависимости от qtwebkit

Я составляю приложение, и все работает нормально на моем компьютере. Затем я запускаю сценарий MacDeployQT на .APP, и по какой -то причине компонент QML WebView говорит: «Модуль QtWebKit не установлен»

Какой правильный способ развертывать приложение на основе QML на OSX, который опирается на QTWebkit / WebView?

Это было полезно?

Решение

MacDeployQT не обрабатывает плагины Import QML:http://bugreports.qt-project.org/browse/qtbug-14342

Вы можете сделать это вручную (например, для QmlViewer):

1) Скопируйте плагины, которые вас интересуют из каталога $ QTDIR / IMPORT в $ qtdir / bin / qmlviewer.app / contents / macos, так что есть, например,

Qmlviewer.app/contents/macos/qtwebkit/qmldir.

2) Исправьте ссылки на плагин Import на фреймворки QT с использованием install_name_tool:

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/libqmlwewer.app/contents/macos/qtwebkit/libqmlwewer.pp .dylib

Сделайте то же самое для других библиотек Qt, которые плагин зависит от (по меньшей мере, Qtgui).

Больше информации о фиксации ссылок можно найти в http://doc.trolltech.com/4.7/deployment-mac.html

Другие советы

Ответ Мартинья дал мне тяжелые времена.

Для тех, кто использует Qt быстро 2 - использование QtWebkit из папки $QTDIR/qml Вместо этого, или у вас будет много сообщений, которые плагин qtwebkit не реализует qqmltypesextensioninterface.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top