macdeployqt: app launches but there is no window
-
Do you mean that was it or is it still not working ?
-
Yeah, that was it: not specifying/then incorrectly specifying the
qmldir
.I am surprised someone (or the folks at Qt) hasn't created a front end "wizard" for the whole "deploy" thing - including the "static vs dynamic" linking thing. I assume that since my app plumped up that the libs are bundled and statically linked.
Oh - and what's up with our icons? You're blue now. I'm red.
-
It's the missing frameworks that have been pulled in and unless you have built your own version of Qt, no static linking occurs (it also has licensing implication).
OS X is pretty much the only platform where the packaging of an application has been standardized with some tools available for that.
Forum update, plugin update, if you used gravatar, you may need to reselect it on your profile.
-
It's the missing frameworks that have been pulled in and unless you have built your own version of Qt, no static linking occurs (it also has licensing implication).
Hmm... maybe I am missing something fundamental.
So If I gave the app resulting from using
macdeployqt
to someone, they would NOT be able to run it without installing Qt?The app plumped up to 35mb. Are you saying that that is just headers?
-
No, that would defeat the purpose of macdeployqt. Like I wrote, its job is to pull into the application bundle the non-system dependencies so that you can start the application without installing anything.
No, I'm not saying that. OS X's framework are not just headers, they contains also the libraries and resources needed to be used. The 35MB are Qt's frameworks/Plugins/qml stuff.
-
Thanks. Sorry to belabor this....but I guess I don't understand static linking – I thought that meant bundling the needed runtime resources into the app (which you say
macdeployqt
is doing) compared to dynamic linking which requires the Qt libs to be installed on the machine as a system resource.So is
macdeployqt
statically linking? -
macdeployqt only role is to check the dependencies of your application, copy them at the right place in the application bundle, do some reconfiguration on the dynamic libraries and the application executable so that the dependencies are looked for at the correct place.
That's all, macdeployqt is not a linker.
-
I thought that meant bundling the needed runtime resources into the app (which you say macdeployqt is doing) compared to dynamic linking which requires the Qt libs to be installed on the machine as a system resource.
Dynamic linking requires no such thing. Linking is the process of resolution of symbols and has nothing to do with bundling up of binaries.
-
Still so confused...
Wouldn't it be great if some kind Qt Champion wrote a little article for the wiki?
I would help...by asking the dumb questions.Doubly awesome would be a front end to
macdeployqt
. I almost know enough now to write it myself (even if I don't fully understand what it does... ;-) -
What is still confusing ?