3

I am learning Qt.
and nowadays i wrote a simple calculator program.
size of calculator less than 1MB.
But to run this program in other computers(Windows)
i need to copy with this file some dll files such as
* Qt5Cored.dll
* Qt5Guid.dll
* Qt5Widgets.dll
* Qt5Widgetsd.dll
* etc.
And total size of this dll files more than 300 MB.
So does it mean that every time when i write new program in qt/c++
i have to copy 300 MB files to destination computer? Is there another correct way to do this?

I heard VLC, VirtualBox and some other programs use Qt.
But i checked Source folders of that applications,
the size of that application folders are not so big. And there are not all of these dll files.

So how do they solve this?

So how

namco
  • 6,208
  • 20
  • 59
  • 83
  • 6
    It seems that you are deploying a debug version. `Qt5Cored.dll` is a debug version of the dll and `Qt5Core.dll` is the release version of the same dll. Release dll's are smaller than the debug dll's. And you definitely should not need to deploy both versions, `Qt5Widgetsd.dll` and `Qt5Widgets.dll`. –  Aug 17 '13 at 21:04

2 Answers2

2

You don't need the libraries ending with "d" as those are debug versions. My Qt app's installer only weighs 20MB, and at least 5 MB of that is help and language files, another 5 MB is my own code. And I use QtWebkit which alone is quite heavy.

Violet Giraffe
  • 32,368
  • 48
  • 194
  • 335
2

This is answer to second part of your question regarding VLC and virtual box. These are opensource projects and can use static linking. Besides, instead of statically linking whole Qt5Gui.lib they only link those parts which are required. If your application is opensource, you can really make the overall size of your Qt application much much smaller. Sometimes even 5 times smaller.

adnan kamili
  • 8,967
  • 7
  • 65
  • 125