0

我找不到通知 macdeployqt 我需要将 QT_ROOT/qml/QtWebView/ libdeclarative_webview.dylib复制到应用程序包中的方法。这是在 QML 中使用本机 QtWebView 所必需的(配置为 QT_WEBVIEW_PLUGIN=native)。有没有办法避免手动复制并改用 macdeployqt?

请注意,库QT_ROOT/plugins/webview/ libqtwebview_darwin.dylib被正确识别并包含在包中。

项目用cmake搭建,Qt版本为5.15.2。基本步骤如下所示。

find_package(Qt5 REQUIRED COMPONENTS ... WebView)

target_link_libraries(${binary} ... Qt5::WebView)

execute_process(
    COMMAND ${qt_root}/bin/macdeployqt
    ${CMAKE_INSTALL_PREFIX}/bin/my_app_bundle.app
    -qmldir=${qt_root}/qml
)
4

1 回答 1

1

问题在于滥用 qmldir 和 qmlimport。正确的调用是

execute_process(
    COMMAND ${qt_root}/bin/macdeployqt
    ${CMAKE_INSTALL_PREFIX}/bin/my_app_bundle.app
    -qmldir=${CMAKE_CURRENT_SOURCE_DIR}/quick_ui
    -qmlimport=${qt_root}/qml
)
于 2021-07-06T06:02:16.770 回答