[Solved] Exe file does not run without QtCreator (Qt 5.0.1 and QtQuick 2.0)
-
I installed Qt 5.0.1 for Windows 32-bit (MinGW 4.7, 823 MB)
Then I created simple Quick 2 application and compiled it. Application is located in the its folder, and apllication run from QtCreator. And I want to run this exe file without QtCreator. To do this, I copy the files from the C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin:
Qt5Core.dll
icuin49.dll
libgcc_s_sjlj-1.dll
libwinpthread-1.dllAnd then I get error:
Точка входа в процедуру _ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode не найдена в библиотеке DLL icuuc49.dllTranslate: The procedure entry point _ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode not found in library DLL icuuc49.dll
!http://harrix.org/error1.png(Error)!
If I copy the exe file to a folder C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin (where are all the dll), the program runs, but nothing shows:
!http://harrix.org/error2.png(Error)!If I copy the exe file to a folder C:\Qt\Qt5.0.1\Tools\QtCreator\bin (where are all the dll), the program does not run:
!http://harrix.org/error3.png(Error)!What to do? Where and what libraries to take the program to run?
-
Did u copy the dlls of QtQuick2.0 into exe folder?
-
if u used qtquick module so you have to copy dll's of QtQuick2 which is located in qml/QtQuick.2 folder
-
You have to copy dlls of every module that you used in your project including : QtCore module, QTGui module, ICU, QtQuick, ....
-
ICU does not keep binary compatibility. Maybe the MinGW package was built with a different version and the linker entries are invalid?
Anyway, you probably also need to copy the platform plugin to plugins/platforms/qwindows.dll.
-
[quote author="Mostafa Alizadeh" date="1360053696"]You have to copy dlls of every module that you used in your project including : QtCore module, QTGui module, ICU, QtQuick, ....[/quote]
[quote author="sierdzio" date="1360054444"]ICU does not keep binary compatibility. Maybe the MinGW package was built with a different version and the linker entries are invalid?
Anyway, you probably also need to copy the platform plugin to plugins/platforms/qwindows.dll.[/quote]
Now I have so list of dll:
Qt5Core.dll icuin49.dll libgcc_s_sjlj-1.dll libwinpthread-1.dll libGLESv2.dll libstdc++-6.dll qminimal.dll Qt5Gui.dll Qt5Network.dll Qt5Qml.dll Qt5Quick.dll Qt5V8.dll qwindows.dll
But program has problems with run yet. Dependency walker shows that the error that I described:
_ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode
When I copy all dll from C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin and from C:\Qt\Qt5.0.1\5.0.1\mingw47_32\plugins\platforms programs run, but nothing shows.
!http://harrix.org/error2.png(Error)! -
Platform plugin needs to be in plugins/platform folder or something similar. Please check that. You can also check system messages or hook your app to terminal to see what the output is. If Qt can't find the plugin, it will shout in cerr.
-
[quote author="sierdzio" date="1360067474"]Platform plugin needs to be in plugins/platform folder or something similar. Please check that. You can also check system messages or hook your app to terminal to see what the output is. If Qt can't find the plugin, it will shout in cerr.[/quote]
I copy qwindows.dll and qminimal.dll in folder with program. And these libraries are located in the folder
C:\Qt\Qt5.0.1\5.0.1\mingw47_32\plugins\platformsBut program does not work. With dll from list program shows error _ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode. With all dll from C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin and from C:\Qt\Qt5.0.1\5.0.1\mingw47_32\plugins\platforms programs run, but nothing shows.
I put the Qt 5.0.1 for Windows 32-bit (MinGW 4.7, 823 MB) on another computer and it has also created an Qt Quick 2.0 application. And the problem is the same.
-
[quote author="Harrix" date="1360067923"]I copy qwindows.dll and qminimal.dll in folder with program. [/quote]
Yes, that is why I keep telling you it is wrong :) Copy it to <your app>/plugins/platforms.The error might come from ICU if was compiled with MSVC and MinGW linker points to wrong sections of the library.
-
[quote author="sierdzio" date="1360068157"][quote author="Harrix" date="1360067923"]I copy qwindows.dll and qminimal.dll in folder with program. [/quote]
Yes, that is why I keep telling you it is wrong :) Copy it to <your app>/plugins/platforms.The error might come from ICU if was compiled with MSVC and MinGW linker points to wrong sections of the library.
[/quote]Thank you so much! This is what was needed. And I forgot to add the folder with qml files.
-
I'm having a same problem. I've read what you gays talked and compose the directories like below. But, still, I got this error message when I try to run my application without Qt Creator.
The procedure entry point _ZNKSt9exception4whatEv not found in library DLL libstdc++-6.dll
Please, check my directories and tell me what I have to do more.
/myApp.exe
/libgcc_s_dw2-1.dll
/libstdc++-6.dll
/libwinpthread-1.dll
/Qt5Core.dll
/Qt5Gui.dll
/Qt5Network.dll
/Qt5Widgets.dll
/plugins/platform/qwindows.dll
/plugins/platform/qminimal.dll -
[quote author="yckim" date="1390135860"]The procedure entry point _ZNKSt9exception4whatEv not found in library DLL libstdc++-6.dll[/quote]That means you are using the wrong versions of the MinGW DLLs. Where did you get them from?
[quote author="yckim" date="1390135860"]/plugins/platform/qwindows.dll
/plugins/platform/qminimal.dll[/quote]
Remove the "plugins" layer.
It's "platforms", not "platform"
You only need qwindows.dll, not qminimal.dll
It should be /platforms/qwindows.dll
-
[quote author="JKSH" date="1390136766"]That means you are using the wrong versions of the MinGW DLLs. Where did you get them from?[/quote]
You are right. I just figured out that there are two libstdc++-6.dll on my computer. One is under \MinGW\bin(what caused the problem). The other one is under \Qt\Qt5.2.0\5.2.0\mingw48_32\bin, and it works fine!! Thanks.