Macdeployqt dmg disabled build versions in Qt
-
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 ? -
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.
-
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
. -
@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.
-
-
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. -
@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.
-
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.