3

I am about to deploy a small application on Windows 10. I successfully build and run the application and created the executable file thanks to this post. The problem I have is that all of a sudden there is a missing .dll. And to be specific the error message after clicking on the .exe to make sure the application was working to my surprise was the one below:

VCRUNTIME140D_APP.dll was not found

error

In my debug folder I have the .exe created and had no idea why was asking for that library.

here is my .pro file:

QT += quick quickcontrols2 concurrent network core gui

CONFIG += c++11

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

TARGET = SMTPEmail
TEMPLATE = app
DEFINES += SMTP_BUILD
#win32:CONFIG += dll

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
        main.cpp \
        progressbardialog.cpp \
        robot.cpp \
        robotmanager.cpp \
        settings/emailaddress.cpp \
        settings/mimeattachment.cpp \
        settings/mimecontentformatter.cpp \
        settings/mimefile.cpp \
        settings/mimehtml.cpp \
        settings/mimeinlinefile.cpp \
        settings/mimemessage.cpp \
        settings/mimemultipart.cpp \
        settings/mimepart.cpp \
        settings/mimetext.cpp \
        settings/quotedprintable.cpp \
        settings/smtpclient.cpp \
        user.cpp \
        usermanager.cpp

RESOURCES += qml.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =

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

HEADERS += \
    progressbardialog.h \
    robot.h \
    robotmanager.h \
    settings/SmtpMime \
    settings/emailaddress.h \
    settings/mimeattachment.h \
    settings/mimecontentformatter.h \
    settings/mimefile.h \
    settings/mimehtml.h \
    settings/mimeinlinefile.h \
    settings/mimemessage.h \
    settings/mimemultipart.h \
    settings/mimepart.h \
    settings/mimetext.h \
    settings/quotedprintable.h \
    settings/smtpclient.h \
    settings/smtpexports.h \
    user.h \
    usermanager.h

What have I done so far

1) In order to solve this last problem I researched and came across this useful post which also explained the main difference. Although the thing to be noted is that this application will run on Desktop only.

2) I found this version to download vcruntime140_app.dll from which I downloaded the missing library. Unzipped and added to my debug folder as also possible to see from below print screen:

debug-folder

After that I built and run the application but surprisingly I was getting the same exact error despite missing .dll was manually added to the debug folder.

3) I did more research and came across this, this post and also this one. But all of them together didn't help me figure out how to understand what the problem was.

4) I tried to install this version too vcruntime140d.dll from the same site at point 2) above, but still the same result. Missing library VCRUNTIME140D_APP.dll was not found

error

Last thing I have to notice is that: I downloaded and tried vcruntime140_app.dll then vcruntime140d.dll but I am not able to find a vcruntime140d_app.dll if it exists.

I don't understand why, despite the library is there as is possible to see also here C:\Users\me\OneDrive\Desktop\build-signalsQML-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\vcruntime140_app.dll the double click on the executable still give the same error.

Thanks for pointing in the right direction for solving this problem.

Emanuele
  • 2,194
  • 6
  • 32
  • 71
  • Comments are not for extended discussion; this conversation has been [moved to chat](https://chat.stackoverflow.com/rooms/204009/discussion-on-question-by-emanuele-qt5-windows-vcruntime140d-app-dll-was-not). – Samuel Liew Dec 10 '19 at 22:49
  • From the file names, it looks like you’re trying to deploy a debug build (it doesn’t work properly, and I think it’s also legally not allowed). Did you try with a release build? – Frank Osterfeld Dec 11 '19 at 16:09

1 Answers1

1

Solution is to deploy QT dependencies to application folder. After trying a lot, following command solved the issue for me.

C:\Qt\5.12.10\msvc2017_64\bin>windeployqt.exe Project path\Release

This command copies all the required QT dependencies to application folder.

Got the hint from the following link: QT forum reference

Venkata Subbarao
  • 352
  • 4
  • 22