The application was unable to start correctly (0xc000007b)



  • Hi,
    I write a program in qt from windows 8.1 64 bit:
    Qt Creator 3.5.1 (opensource)
    Based on Qt 5.5.1 (MSVC 2013, 32 bit)

    I released my project but I can not run it. Everything works fine while debugging, even while press release, but when I want to run my project out of Qt Creator, I get following error.

    The application was unable to start correctly (0xc000007b).

    Please guide me.
    Thanks



  • Hi neda,
    when you say out of Creator, you mean starting the application from Windows Explorer?
    If yes, did you deploy the necessary qt dependencies withwindeployqt?



  • @sneubert
    I want to execute my program in other computers in all windows without install other software like Qt creator.


  • Lifetime Qt Champion

    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".

    pic

    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.



  • @sneubert

    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.dll

    if 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 ?





  • In your first post you say:
    Based on Qt 5.5.1 (MSVC 2013, 32 bit)
    in general the folder C:\Qt\Qt5.5.1\5.5\msvc2013_64 points to the 64bit qt binaries.
    Is there a folder like C:\Qt\Qt5.5.1\5.5\msvc2013_x86 or C:\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.



  • @sneubert said:

    Is there a folder like C:\Qt\Qt5.5.1\5.5\msvc2013_x86 or C:\Qt\Qt5.5.1\5.5\msvc2013

    No


  • Moderators

    @sneubert

    Based on Qt 5.5.1 (MSVC 2013, 32 bit)
    

    That's the QtCreator version not the Qt version which is @neda uses.



  • @jsulm

    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.


  • Moderators

    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?


  • Moderators

    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.



  • @jsulm

    Thank you



  • 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)


  • Qt Champions 2016

    @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:

    Compilers

    Please guide me.
    Thanks


  • Qt Champions 2016

    @neda

    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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.