I'm trying to deploy an application to Mac OSX, but it doesn't work.
After build my app it seems to be working fine, running inside Qt Creator, I used QML and C++ to build the app. I've used the command line:
macdeployqt MyApp.app -dmg
After that a .dmg
file is generated but the app inside that doesn't work. It opens an empty window. Worse than that, after deployed app execution also my app in Qt Creator starts to show only an empty window showing the following output:
qrc:/qml/main.qml:1:1: module "QtQuick" is not installed
qrc:/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
qrc:/qml/main.qml:2:1: module "QtQuick.Dialogs" is not installed
qrc:/qml/main.qml:1:1: module "QtQuick" is not installed
qrc:/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
qrc:/qml/main.qml:2:1: module "QtQuick.Dialogs" is not installed
qrc:/qml/main.qml:1:1: module "QtQuick" is not installed
qrc:/qml/main.qml:4:1: module "QtQuick.Controls" is not installed
qrc:/qml/main.qml:2:1: module "QtQuick.Dialogs" is not installed
otool -L
shows me this:
@executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.2.0, current version 5.2.0)
@executable_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.2.0, current version 5.2.0)
@executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.2.0, current version 5.2.0)
@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.2.0, current version 5.2.0)
@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.2.0, current version 5.2.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
I've deleted all my old Qt libraries that I've in my system (or I suppose to, can't find Qt in anywhere else now, only the 5.2 installation). Anyone has any idea about what's happening?
I had the same problem with Qt 5.0.1 and Qt 5.1.0. To fix it I created my own version of macdeployqt. I think it'll work for Qt 5.2.0. Please check it: https://github.com/MaximAlien/macdeployqt.
Since Qt 5.2 a new option has been added to
macdeployqt
that parses all your QML files to see the frameworks you need and copy them properly. This is how I launch macdeployqt for my app: