0

After making a software completely, how do I release the app so that the main exe file can run without any frameworks or things? I used the release Release presented in the left hand side where the run button is located. But after releasing, when I open the main exe file, it says "Qt4Dll" missing.

I thought that Qt didn't require any framework to run?

boxofapps
  • 201
  • 4
  • 11
  • It still requires the dll's. Did you try linking statically? – Luchian Grigore Sep 26 '12 at 16:04
  • If on MacOSX. You can distribute the Qt shared libraries in a MacOSX application bundle, and change the library install names to point to the private copies. On Windows, you always have the option of putting the DLLs in the same folder as the executable, where they'll be found the the dynamic linker at runtime. – marko Sep 26 '12 at 16:07
  • 2
    Qt may not require other frameworks, but an application using Qt obviously requires Qt. –  Sep 26 '12 at 16:07

3 Answers3

0

You could link statically but of course it will enlarge size of your application exe file.

Some information about static linking in QT

Community
  • 1
  • 1
Dmitry Stukalov
  • 194
  • 1
  • 13
  • 1
    This is still dramatically smaller than shipping the shared libraries with the app, which is the alternative option. – marko Sep 26 '12 at 16:07
  • 2
    One has to remember about the Qt licence (LGPL) and its static linking rules. – cubuspl42 Sep 27 '12 at 11:43
0

As already suggested to avoid dependence on Qt4*.dll libraries you have to build a static version of Qt.

You can also find more information (and platform specific instruction to build a static version) in Qt's deployment notes.

Claudio
  • 1,658
  • 11
  • 18
0

Just try copying the missing .dll files from "..\Qt\5.11.3\mingw53_32\bin" (the location where Qt is installed) to the location where your .exe file is present.

Blueberry
  • 15
  • 1
  • 7