PDA

View Full Version : The product



techie1991
22nd March 2010, 10:07
I am using the QT IDE to build applications. These applications build, compile and give the required result.
But where is the stand alone application that I have built, and can be distributed???:confused:

aamer4yu
22nd March 2010, 10:09
You application .exe, the Qt dlls,,, are the key to distribution.
Read about deploying Qt applications (http://qt.nokia.com/doc/4.6/deployment.html).

techie1991
25th March 2010, 11:50
But, Is their no way of doing the deployment graphically?
And what is that .exe file in my project. Whenever I run it, It gives me an error of a missing dll.

Lykurg
25th March 2010, 12:17
But, Is their no way of doing the deployment graphically?
No, not yet.

And what is that .exe file in my project. Whenever I run it, It gives me an error of a missing dll.
That's because you have to add the Qt libraries to your application, but that is all described in the link aamer4yu gave you. Just read it.

toutarrive
25th March 2010, 12:25
What is the name of your missing dll?
The .exe file is your application (i.e the result of the compiling and linking of your source code).
In order to make it run properly, you have to include alongside all the dll needed by your app.
If you don't include those dll, you have this error message of missing dll.

techie1991
25th March 2010, 12:29
Yes, I read the page linked by aamer4yu. But I was asking that If the compiler of QT links all the libraries when I build the program then Why doesn't it do this for the final product too. Like when we use general C++ programming (using Dev-c++ and others), the compiler links all the included files and other things required by our program to run.

Lykurg
25th March 2010, 12:38
But I was asking that If the compiler of QT links all the libraries when I build the program then Why doesn't it do this for the final product too.
Its Qt not QT, but the creator executes simply the exe like you do, so there are no two versions of your project. The difference is, that inside the creator the environment variables are set properly so that the application could find the dll.

Lykurg
25th March 2010, 12:39
An other option is that you link static. But then you can get trouble with the LGPL. If you use a comercial license or GPL this might be an option for you. But then the file size is much bigger.

toutarrive
25th March 2010, 12:41
When you deploy the final product, you have to ship your app and the dll needed by your app.
For the simple reason that the end user, surely, won't have the QT SDK (i.e. the needed dlls) installed on his computer.

squidge
25th March 2010, 13:54
Yes, I read the page linked by aamer4yu. But I was asking that If the compiler of QT links all the libraries when I build the program then Why doesn't it do this for the final product too. Like when we use general C++ programming (using Dev-c++ and others), the compiler links all the included files and other things required by our program to run.

The advantage of dynamically linking the app instead of bundling everything into the executable is that if two or more applications use the same library, the code can be shared between the applications. This means less memory use as there is only one copy of the code in memory, rather than a copy for every executable running.