Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't deploy Qt Quick app to Mac OSX

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?

like image 692
dfranca Avatar asked Sep 17 '25 11:09

dfranca


1 Answers

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:

macdeployqt path/to/my.app -qmldir=./path/to/my/qml/root -dmg
like image 113
koopajah Avatar answered Sep 20 '25 01:09

koopajah