1

为什么是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”导入QtQuick 2.1 **

我被困在一个空白的白色屏幕上,没有关于我做错了什么的信息。没有文档,当前文档几乎没用,因为 macdeploy 的 bug 自 Qt5.0.1 以来一直没有修复,我不知道他们什么时候会修复它(可能永远不会修复)。没有信息告诉我我需要哪个 dylib。这非常令人沮丧!有人知道如何在 mac os x 上部署 QtQuick2 应用程序吗?

如果这样继续下去,也许我最好继续使用 QWidget,至少我不必再遭受部署麻烦。我很惊讶他们花了很多时间来开发 QtQuick2,但没有发布有用的文档来教我们如何在他们的目标平台上部署应用程序。

4

1 回答 1

0

看看这个答案。感谢 miks131、MaximAlien 和 lasconic。

记得输入正确的 qmldir,否则 macdeploy 不会将 QtQuick2 和 QtQuick 文件夹复制到包中

变通

于 2013-07-15T19:41:28.617 回答