Re: Reducing deployment size
First of all make sure you compile in release mode. (on Linux you can user "strip" to remove some unneeded data). Then if you still want to reduce the size, use a binary packer such as a tool called UPX. If you still want to reduce the size of the application, you'll have to strip down Qt libraries by recompiling Qt with proper macros defined.
Re: Reducing deployment size
Do you have a link to a more in depth discussion on this interesting topic?
I mention that my knowledge on packaging is almost inexistent, and I ask the following question:
Isn't it posible that a statically built application to only include the functions it uses?
When a program only uses, for example, QPushButton and the absolutely necesary classes for a GUI program, only the code for these Qt classes to be included in the executable? I guess that would require a new compilation of these needed Qt classes, but maybe the executable would be so much smaller.
Re: Reducing deployment size
Quote:
Originally Posted by
alecs1
Do you have a link to a more in depth discussion on this interesting topic?
There should be something in the docs... let me see....
http://doc.trolltech.com/qq/qq10-win...eployment.html
http://doc.trolltech.com/latest/deployment.html
http://doc.trolltech.com/4.3/qtopiacore-features.html (this is about Qtopia, but it's the same for desktop editions too)
Quote:
Isn't it posible that a statically built application to only include the functions it uses?
It's like that by default. Unfortunately Qt is very complex and many things depend on many other things (even if you don't need them)
Quote:
When a program only uses, for example, QPushButton and the absolutely necesary classes for a GUI program, only the code for these Qt classes to be included in the executable?
Unfortunately QPushButton depends on QAbstractButton, they depend on drag&drop functioanlity, etc.
Quote:
I guess that would require a new compilation of these needed Qt classes, but maybe the executable would be so much smaller.
Yes, that's possible. That's what I was describing at the end of my previous post and that's what the last link from the ones above describe.