Qt 5.1rc1 在 mac OS X 上部署,我如何部署一个简单的 QtQuick2 应用程序?
Posted
技术标签:
【中文标题】Qt 5.1rc1 在 mac OS X 上部署,我如何部署一个简单的 QtQuick2 应用程序?【英文标题】:Qt 5.1rc1 Deployment on mac OS X, how could I deploy a simple QtQuick2 apps? 【发布时间】:2013-07-15 06:37:05 【问题描述】:为什么是rc1而不是release版本?因为release版本的macdeploy的bug比rc1多
qml 很简单
import QtQuick 2.1
Rectangle
width: 400
height: 300
color: "black"
我的.pro
QT += core gui qml quick
CONFIG += c++11
SOURCES += \
main.cpp
OTHER_FILES += \
main.qml
但我什至无法部署这个简单的应用程序
我的脚本
#******copy main.qml into the bundle**********
cp /Users/Qt/program/experiment_apps_and_libs/qmlTest2/main.qml /Users/Qt/program/experiment_apps_and_libs/qmlTest2/qmlTest2.app/Contents/MacOs
#*******create the folder and copy the plugins into the bundle**********
mkdir qmlTest2.app/Contents/PlugIns
mkdir qmlTest2.app/Contents/PlugIns/QtQuick
mkdir qmlTest2.app/Contents/PlugIns/QtQuick/LocalStorage
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.dylib qmlTest2.app/Contents/PlugIns/QtQuick/LocalStorage
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick/LocalStorage/plugins.qmltypes qmlTest2.app/Contents/PlugIns/QtQuick/LocalStorage
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick/LocalStorage/qmldir qmlTest2.app/Contents/PlugIns/QtQuick/LocalStorage
mkdir qmlTest2.app/Contents/PlugIns/QtQuick.2
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick.2/libqtquick2plugin.dylib qmlTest2.app/Contents/PlugIns/QtQuick.2
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick.2/plugins.qmltypes qmlTest2.app/Contents/PlugIns/QtQuick.2
cp /Users/yyyy/Qt5.1.0RC1/5.1.0-rc1/clang_64/qml/QtQuick.2/qmldir qmlTest2.app/Contents/PlugIns/QtQuick.2
#**********call macdeployqt***************
macdeployqt /Users/Qt/program/experiment_apps_and_libs/qmlTest2/qmlTest2.app -verbose=3
我在我添加的每个插件上运行 otool -L,它们都成为 macdeployqt 之后的相对路径
当我通过 lldb 运行程序时,它总是给我错误消息
**file:///Users/Qt/program/experiment_apps_and_libs/qmlTest2/main.qml:23:1:未安装模块“QtQuick” import QtQuick 2.1 **
我被困在一个空白的白色屏幕上,没有关于我做错了什么的信息。 没有文档,当前文档几乎没用,因为macdeploy的bug从Qt5.0.1开始就没有修复过,我也不知道 他们什么时候修复它(也许永远不会修复)。 没有信息告诉我我需要哪个 dylib。这非常令人沮丧! 有人知道如何在 mac os x 上部署 QtQuick2 应用吗?
如果这样继续下去,也许我最好继续使用 QWidget,至少我不必再遭受部署麻烦。 我很惊讶他们花了很多时间来开发 QtQuick2 但没有发布有用的文档来教我们 我们如何在他们的目标平台上部署应用程序。
【问题讨论】:
【参考方案1】:看看这个答案。 感谢 miks131、MaximAlien 和 lasconic。
记得输入正确的 qmldir,否则 macdeploy 会 不要将 QtQuick2 和 QtQuick 文件夹复制到包中
work around
【讨论】:
以上是关于Qt 5.1rc1 在 mac OS X 上部署,我如何部署一个简单的 QtQuick2 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章