Qt Deployment error 0xc0000007b on Windows

0

I have a Qt 5.12 Windows app. I'm using Qt Creator and Mingw 64 bit. I've deployed the app by windeployqt.exe. When I start it, the app requires the libgcc_s_seh-1.dll file. After I paste it in the dir, I get the 0xc000007b error. I ran Dependency Walker and it gives me the following errors:

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Error: A circular dependency was detected.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

This is my .pro file

QT += core gui network

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Control
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
QMAKE_LFLAGS += -static-libgcc


##CONFIG += c++11
##QMAKE_CXXFLAGS += -std=c++0x
SOURCES += \
        main.cpp \
        mainwindow.cpp

HEADERS += \
        mainwindow.h

FORMS += \
        mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

Can someone help me? Thank you very much.

qt
asked on Stack Overflow Mar 21, 2019 by pm40 • edited Mar 21, 2019 by Massimo Callegari

2 Answers

1

I had a similar problem in the past, but I am not pretty sure if it's the same reason because I was compiling with MVSC.

In my case, the application internally links with x86 dependency files. I did download and install x64 dependency files and link with x64 files.

Anyway, the old version of Dependency Walker doesn't know to skip 32-bit DLLs in PATH when processing a 64-bit EXE or DLL the way Windows does, so some errors are not really relevant. You may find more information in this post.

If the problem remains, try to avoid the usage of a static version of libgcc, acording to this post. It is not designed to be statically linked.

...
#QMAKE_LFLAGS += -static-libgcc
...
answered on Stack Overflow Mar 21, 2019 by mohabouje
0

I got that error when the compiled app could not see the Qt dlls, so check your path. It could also be that it cannot find other gcc dll, like libwinpthread-1.dll.

answered on Stack Overflow Mar 22, 2019 by catalin

User contributions licensed under CC BY-SA 3.0