我正在尝试将应用程序部署到Mac OSX,但它不起作用.
在构建我的应用程序后,它似乎工作正常,在Qt Creator中运行,我使用QML和C++来构建应用程序.我用过命令行:
macdeployqt MyApp.app -dmg
之后.dmg
生成一个文件,但里面的应用程序不起作用.它打开一个空窗口.更糟糕的是,在部署应用程序执行后,我在Qt Creator中的应用程序也开始只显示一个显示以下输出的空窗口:
qrc:/qml/main.qml:1:1:未安装模块"QtQuick"
qrc:/qml/main.qml:4:1:未安装模块"QtQuick.Controls"
qrc:/qml/main.qml :2:1:模块"QtQuick.Dialogs"未安装
qrc:/qml/main.qml:1:1:未安装模块"QtQuick"
qrc:/qml/main.qml:4:1:模块"QtQuick .Controls"未安装
qrc:/qml/main.qml:2:1:模块"QtQuick.Dialogs"未安装
qrc:/qml/main.qml:1:1:模块"QtQuick"未安装
qrc: /qml/main.qml:4:1:未安装模块"QtQuick.Controls"
qrc:/qml/main.qml:2:1:未安装模块"QtQuick.Dialogs"
otool -L
告诉我这个:
@executable_path /../ Frameworks/QtQuick.framework/Versions/5/QtQuick(兼容版本5.2.0,当前版本5.2.0)
@executable_path /../ Frameworks/QtQml.framework/Versions/5/QtQml(兼容版本) 5.2.0,当前版本5.2.0)
@executable_path /../ Frameworks/QtNetwork.framework/Versions/5/QtNetwork(兼容版本5.2.0,当前版本5.2.0)
@executable_path /../ Frameworks/QtCore. framework/Versions/5/QtCore(兼容版本5.2.0,当前版本5.2.0)
@executable_path /../ Frameworks/QtGui.framework/Versions/5/QtGui(兼容版本5.2.0,当前版本5.2.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL(兼容版本1.0.0,当前版本1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL(兼容版本1.0. 0,当前版本1.0.0)/usr/lib/libstdc++.6.dylib(兼容版本7.0.0,当前版本60.0.0)
/usr/lib/libSystem.B.dylib(兼容版本1.0.0,当前版本1197年1月1日)
我删除了我在系统中的所有旧Qt库(或者我想,现在在其他任何地方都找不到Qt,只有5.2安装).任何人都知道发生了什么?
从Qt 5.2开始,添加了一个新选项来macdeployqt
解析所有QML文件,以查看所需的框架并正确复制它们.这是我为我的应用程序启动macdeployqt的方法:
macdeployqt path/to/my.app -qmldir=./path/to/my/qml/root -dmg