Is there any way to make qt apps not ask for the dlls(mingw10,guid....)?
I need to to upload my program and let people to download.
I don't want them to download 190MB(exe+dlls)...so...
Thank you.
Is there any way to make qt apps not ask for the dlls(mingw10,guid....)?
I need to to upload my program and let people to download.
I don't want them to download 190MB(exe+dlls)...so...
Thank you.
Hm... U doing something wrong
I think u add the ...d.dlls (like QtCore4d.dll). Those are Debug dll's and u don't have to include them, add those without d.dll's (like QtCore4.dll).
You are building the "debug" version of your application, that has a lot of information in it for the debugger... that is meant for you to use while fix the bugs, it is not for your clients to use. (note the d in the Qt dll names: QtGuid4.dll)
For your clients you build the "release" (after you fixed all the bugs ) and deploy that with example dll: QtGui4.dll (without that d) and the two MinGW and Qt's core and gui have about 13MB.
No. U have to put the dll's in your folder but u've put the wrong ones...Originally Posted by BumbleBee
When u build your release version include the QtGui4.dll, mingwm10.dll and QtCore4.dllOriginally Posted by BumbleBee
Static application will not be much smaller than dynamic application.
190MB seems unusally large though, what files are you putting with your application?
Eg. deploy QtGui4.dll, do not deploy QtGui4d.dll
You still need to copy the dlls, but you will copy the release versions example: QtGui4.dll, QtCore4.dll and so on for the Qt modules you used in your application.
You don't copy the QtGuid4.dll, QtCored4.dll dlls which are bigger.
On my system QtGui4.dll is 9 MB and QtGuid4.dll is 147 MB, the release dlls are much smaller and also the release build is more optimized and it will run faster.
Can I somehow include the dlls in my app(like compile or something..)so that the user cannot see the dlls?
I want to give the exe only.
U have to read about static linking... I would tell u about it but the thing is - i have no idea how to use it...
To create a static application you will need to static build Qt framework your self and if you use open source Qt, check what you are and are not allowed to do, because LGPL has some restrictions.
What is this static framwaork and why does it say about gcc?
Qt is a framework and you need the static build of the framework if you want to build static application that use the Qt framework.
The link was just an example, it says the procedure to build Qt static on Windows using MinGW (MinGW is the compiler used and it is a Windows port of the GCC)
When you say build you mean some coding I have to do in my application to make the exe run alone(without dlls) on other pcs?
No,
When i said build i meant you need to build the Qt framework - since what is already built (the dlls) are not for static use.
//coding is already done, you just need to build the Qt framework static, and then link your application with the static Qt framework you built earlier.
And you will need to check with MinGW documentation on how to static link the MinGW run-time (so that you don't need those two dlls for MinGW)
And if you didn't buy commercial license, you also need to make sure you still obey LGPL license.
Would it be easy to build that static fra..?
BTW:I build my app in release mode and it dosn't execute..exits with code: -1073741511
The 1073741511 exit code means wrong dlls, did you deployed your application with the correct dlls, also check that you don't have some "older" invalid paths or check your "windows\system32" dir and see if there is any Qt dll's.
Need to fix this ASAP(I need to build in release to make file like 20 mb instead of 200 as it's now.)
In release folder it shows this:http://min.us/lmHCMO
Thank you.
I assume you are using the Qt SDK with its included MingW compiler. Here are the points form the above discussion summarised:
- Deploy the release DLLs (e.g. QtCore4.dll), not the debug DLLs (e.g. QtCored4.dll). This is the most likely reason that your deployment is ridiculously large. A full set of release libraries, which you are unlikely to need all of, is about 40MB.
- Deploy the DLLs that have been built with the same compiler as your executable. This means you should deploy the DLLs found in
(adjust the path as required). This is the most likely cause of your latest problem.
- \Qt\2010.02.1\qt\bin,
- not the ones in \Qt\2010.02.1\bin
- Don't forget to deploy any plugin that your application requires. This is the most likely cause of the next problem you are likely to strike.
The issue of what to deploy and where to put it has been done to death in these forums.
How to include all the dlls into the application and making the large exe file instead of copying the dll's and installing them in the installed folder..... Need to include al thte Dll's needed before release..
Bookmarks