Macdeployqt dmg disabled build versions in Qt
-
wrote on 5 Dec 2017, 16:32 last edited by A Former User 1 Mar 2018, 18:03
Hi! I tried to use macdeployqt in the terminal on my mac along with the path to my Application.app and -dmg to create a dmg of my app, I tried this with my release and profile version and now I can't run them. Gets error message: QQmlApplicationEngine failed to load component when running them in Qt Creator path to main followed by "QtQuick.Controls" is not installed, same goes for "QtQuick.Window" and a lot more of my imported modules. Luckily I haven't messed up my debug build. Does anyone know how to correct my error?
/Oliver
-
Hi,
Are you also using the
-qmldir
option ? -
wrote on 6 Dec 2017, 07:18 last edited by
No I haven't used this, what's it used for?
-
From the macdeployqt documentation:
Deploy imports used by .qml files in the given path
So you give it the path to your application sources where you have your .qml files. It will scan them and then deploy the dependencies needed.
-
wrote on 6 Dec 2017, 07:56 last edited by
Okey thanks, I will try this. Before I've deployed through Qt Creator, but now I want to be able to distribute it to a friend of mine, is this the right way to go?
-
wrote on 6 Dec 2017, 08:18 last edited by RaZp29 12 Jun 2017, 08:18
This worked just fine. But I'm using openstreetmap plugin for a map in my application so the map is not visible.
Quoting macdeployqt: To include a 3rd party library in the application bundle, copy the library into the bundle manually, after the bundle is created.
What is my bundle? Now I have one folder with my sourceCode with files like myApp.pro, main.cpp, qml files, and so on, and another folder that Qt Creator creates when deploying containing main.o, Makefile, moc_files and myApplication.app. -
The bundle is your
Application.app
. -
wrote on 7 Dec 2017, 14:35 last edited by
@SGaist said in macdeployqt dmg disabled build versions in Qt:
The bundle is your
Application.app
.Okey, so how do I: Include a 3rd party library in the application bundle, copy the library into the bundle manually, after the bundle is created. How's this done with OpenStreetMap?
-
Copy the OpenStreetMap framework/dylib in the corresponding folder in the bundle structure.
-
Copy the OpenStreetMap framework/dylib in the corresponding folder in the bundle structure.
wrote on 11 Dec 2017, 14:30 last edited by@SGaist said in macdeployqt dmg disabled build versions in Qt:
Copy the OpenStreetMap framework/dylib in the corresponding folder in the bundle structure.
Where do I find the OpenStreetMap framework/dylib? isn't that included in QtLocation?
-
My bad, I've mixed OpenStreetMap with another one. The osm plugin should be deployed.
-
Did you try to start your application from the command line after running
macdeployqt
? There might be information printed on the command line. -
Did you try to start your application from the command line after running
macdeployqt
? There might be information printed on the command line.wrote on 21 Dec 2017, 09:15 last edited by RaZp29@SGaist I tried this but it didn't work. This is what the folder to the project in Qt Creator looks like
And this is the folder produced by Qt Creator when deploying
Before running macdeployqt running my app from the terminal with: open -a RTKCar works just fine. Then I call macdeployqt from my root folder like this:
pathToMacdeployqt/macdeployqt pathToDeployedFolder/RTKCar.app -dmg -qmldir=PathToProjectFolder
After this I can run it from the terminal but the map won't show, same goes for opening it with the mouse or from the dmg.When running the macdeployqt command, I get the following output:
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquick2plugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libdeclarative_location.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libdeclarative_positioning.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libwindowplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqquicklayoutsplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2plugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2materialstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2universalstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libdialogplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libdialogsprivateplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquicktemplates2plugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqmlfolderlistmodelplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqmlsettingsplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrolsplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickextrasflatplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libwidgetsplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickextrasplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtgraphicaleffectsplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtgraphicaleffectsprivate.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2materialstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2materialstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2universalstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libqtquickcontrols2universalstyleplugin.dylib"
File exists, skip copy: "/Users/user/build-RTKCar-Desktop_Qt_5_9_2_clang_64bit-Profile/RTKCar.app/Contents/PlugIns/quick/libmodelsplugin.dylib" -
I didn't expect it to work but to give more clues about what is going wrong. You don't have any message printing on the console ?
By the way, you should consider updating Qt. 5.9.3 and 5.10 have been released.
-
I didn't expect it to work but to give more clues about what is going wrong. You don't have any message printing on the console ?
By the way, you should consider updating Qt. 5.9.3 and 5.10 have been released.
wrote on 27 Dec 2017, 13:20 last edited by RaZp29@SGaist I Downloaded Qt 5.10 and gave it a try, same output as before. I've also tried this for the Qt Map Viewer Example without any success.
-
Not any QML error ?
-
That's what I was suspecting: missing plugins.
The quick and easy way would be to build your own version of macdeployqt with this patch applied.
-
That's what I was suspecting: missing plugins.
The quick and easy way would be to build your own version of macdeployqt with this patch applied.
wrote on 30 Dec 2017, 14:40 last edited by@SGaist Wow thanks a lot! Will try this in a few days. Do you reckon linuxdeployqt will have the same issue?