Important: Please read the Qt Code of Conduct -

Static linking of QT standard library

  • Hello,
    I am trying to build an QT application with version 5.4.
    and when ever I am trying to run the exe on a different machine where QT is not installed I am getting below error "The program cannot start because QT5core.dll is missing from your computer, Try reinstalling the program to fix this problem".
    and when I copied QT5core.dll with the exe in a machine where QT is not installed its working fine.

    Is there any way that I can link QT5core.dll with the exe statically so that whatever place I run this exe it should not ask for any dll.


  • Hi and welcome to devnet

    Did you check already windows deployment section? This shows what you have to copy to other machines.

    You are right you can statically link your application with Qt libs.
    You have to compile whole Qt libs statically and afterwards you can use those libs for static linking of your application.
    One thing you should beware of the implications on your license. Check out the download for information on licensing.

  • Thanks,
    For your valuable inputs.
    This means if I am creating an application EXE and sending to someone. so with exe I should send all the supporting libs(standard lib given by QT itself) with the EXE
    Can we have an option in QT where without license we can run this feature.

    Appreciate your response.

    Thanks and Regards,
    Tushar Ramojwar

  • Basically no, there is always some type of license for Qt libs in place. Either you use LPGL for no cost or a commercial license. However, this is the same as with any other SW around.
    Please check out the different options for licenses.