The application was unable to start correctly (0xc000007b)
-
Hi,
Then as @sneubert suggested you have to deploy your application. windeployqt is the easiest way to do it.
Note that if you want to install your application on other computers you might want to create an installer for that. Something like Qt's Installer Framework, Inno Setup or NSIS etc.
-
Use 'deploy.bat' like this:
@echo off C:\Qt\5.6\msvc2015_64\bin\windeployqt.exe --debug "C:\Users\KOT\Documents\Visual Studio 2015\Projects\MoneyManagement\x64\Debug\MoneyManagement.exe"
Remove "--debug" flag for release build.
-
I copied all required .DLL files next to the .exe file(Release build) by windeployqt.exe.
But the application just won't run and I do not see any error.
I have libEGL.dll in program directory and "platform" directory containing qwindows.dll and qminimal.dll.
I see my application in "ProcessExplorer".I use SerialPort , Camera, XML and Canvas in my project.
-
There should be a lot more dlls (Qt5Core.dll, Qt5Gui.dll, ...) after running windeployqt. Do you have more than one version of prebuild qt binaries installed?
You have to run the windeployqt.exe from the bin directory matching the compiler you used for creating the application. -
Thank you
I run "windeployqt.exe" from "C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin\qtenv2.bat"
and create application by Qt 5.5.1 ("C:\Qt\Qt5.5.1\Tools\QtCreator\bin\qtcreator.exe").I have "Qt5Core.dll, Qt5Gui.dll" after running windeployqt.
pic@sneubert said:
Do you have more than one version of prebuild qt binaries installed?
Maybe
I am not sure.
I have only Version 5.5.1 In the list of programs.@sneubert said:
There should be a lot more dlls
For example?
-
i can´t see your images due to our corporate proxy.
But my dirs list dlls like:
D3Dcompiler_47.dll
libEGL.dll
libGLESV2.dll
opengl32sw.dll
...
Qt5Widgets.dll
Qt5Multimedia.dllif it´s a missing dependecy you can check by load your application in
DependencyWalker
(google for download).if you have additional qt binaries, there should be more directories below
c:\qt\qt5.5.1\5.5\
. can u list them?As your application shows up in processexplorer use printing for example to cout to check your actually calling show on a widget.
BTW did you set any windows flags like translucent background or frameless window ? -
Thank you
Please see this Link -
In your first post you say:
Based on Qt 5.5.1 (MSVC 2013,32 bit
)
in general the folderC:\Qt\Qt5.5.1\5.5\msvc2013_64
points to the 64bit qt binaries.
Is there a folder likeC:\Qt\Qt5.5.1\5.5\msvc2013_x86
orC:\Qt\Qt5.5.1\5.5\msvc2013
Can u use the windeployqt from there an give it another try?
You can see the exact path to qt binaries in kit configuration of creator. -
I remove all Qt program and install "qt-opensource-windows-x86-msvc2013_64-5.5.1.exe"
but I have same specification in window "About Qt Creator".
Qt Creator 3.5.1 (opensource)
Based on Qt 5.5.1 (MSVC 2013,32 bit)
and url "C:\Qt\Qt5.5.1\5.5\msvc2013_64" in my computer. -
The QtCreator version doesn't matter at all:
Qt Creator 3.5.1 (opensource) Based on Qt 5.5.1 (MSVC 2013,32 bit)
that means you have QtCreator 3.5.1 which was built with Qt 5.5.1 using MSVC 2013, 32bit.
You can use any other Qt version with QtCreator.C:\Qt\Qt5.5.1\5.5\msvc2013_64
yes, this one is Qt you installed.
-
@jsulm said:
Based on Qt 5.5.1 (MSVC 2013, 32 bit)
That's the QtCreator version not the Qt version which is @neda uses.Thank you
I download "Qt 5.6.0 for Windows 64-bit (VS 2015, 836 MB) " from "http://www.qt.io/download-open-source/#section-2"
I have this specification in window "About Qt Creator".
Based on Qt 5.6.0(MSVC 2013,32 bit).But in my computer:
"C:\Qt\Qt5.6.0\5.6\msvc2015_64"Why not change version of MSVC after install?
I do not know what to do to solve this problem? -
Which problem do you mean?
There is no problem!
"About Qt Creator" dialog shows information about QtCreator not Qt versions you installed.
It doesn't matter which Qt version QtCreator uses itself. You can use any other Qt version with QtCreator.
To see which Qt version you're currently using check the Kit you're using: go to Tools/Options.../Build & Run/Kits. -
I installed the qt-opensource-windows-x86-msvc2013-5.6.0.exe.
I build project (Release build) and run windeployqt from msvc2013 folder,
.exe file run in my computer but in another computers I receive errors for not found msvcr120.dll,msvcp120.dll.
After add that dll I have this error:
The application was unable to start correctly (0xc000007b) -
@neda said:
in another computers I receive errors for not found msvcr120.dll,msvcp120.dll.
This means these other computers don't have the VC redistributable installed. Either you have to package those with your application, or rather install them from MS's site:
https://www.microsoft.com/en-us/download/details.aspx?id=48145 (the link is for VC 2015)Again, note the compiler version you've used for building your application and select the appropriate redistributable (matching the compiler version).
-
@kshegunov said:
compiler version you've used for building your application and select the appropriate redistributable (matching the compiler version).
Thank you
I install "Visual C++ Redistributable for Visual Studio 2015 , 2012" but useless.
I have several compilers:Please guide me.
Thanks -
Here. The video should be enough to get you started. You match the compiler you used to the redistributable version. I don't understand Arabic and have no idea what your link points to (there are no pictures), but watch the video, check your compiler and install the appropriate redistributable package on the computers you're deploying to.
-
@kshegunov said:
I don't understand Arabic and have no idea what your link points to (there are no pictures)
Thank you.
Excuse me for the wrong link.I installed Visual C++ Redistributable for Visual Studio 2013 and The problem was solved.