Qt5Widgets.o dll desapareceu? [duplicado]

Esta pergunta já tem uma resposta:
Estou a usar o Qt5 com o criador do Qt.

o meu programa funciona muito bem se eu o lançar a partir do próprio criador do Qt, mas se eu tentar executar o ficheiro .exe a partir da pasta debug ou release, só terei um erro:

The program can't start because Qt5Widgets.dll is missing from your computer.
Try reinstalling the program to fix this problem.
Sou novo no Qt e não faço ideia do que está a causar isto, não encontrei resultados decentes do google. Já tentei reinstalar o Qt5 (incluindo o criador), mas não ajudou.


O Meu ficheiro .proj parece-se com isto:

TEMPLATE = app
TARGET = test

QT += \
    core \
    gui \
    widgets \

SOURCES += \
    main.cpp

e o meu main.cpp parece-se com isto:

#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QWidget window();
    window.show();
    return app.exec();
}
E é tudo o que tenho.

Author: Patrik Lippojoki, 2013-05-07

2 answers

Quando lançar uma aplicação construída com o Qt, terá de ter todas as dll necessárias pelos módulos do Qt usados no seu código (Qt5Widgets.dll, Qt5Core.dll, etc.) na mesma pasta que a sua aplicação.

Não pode usar o addLibraryPath () para esse efeito, porque o seu programa tem de ser executado antes de executar este método. E não pode correr se não encontrar a biblioteca obrigatória na mesma pasta.

Você também precisa de algumas outras bibliotecas para executar um programa Qt5, dependendo dos módulos que você usa. As específicas do Windows estão listadas aqui aplicação estaticamente ligada ao QT dá erro:não foi possível carregar o 'plugin' de plataforma "windows" .

Você também pode precisar de outras bibliotecas: - plugins / qjpeg.dll, etc. se quiser carregar os ficheiros de imagens na sua interface gráfica. - sqldrivers / qsqlite.dll, etc. se você usar a base de dados (você só precisa de drivers que você usa) Para estes, você pode usar addLibraryPath () para configurar locais específicos, mas você deve evitar isso e tentar o máximo possível para colocá-los diretamente na direita sub-pasta perto da sua aplicação.

Você encontrará algumas informações sobre as bibliotecas necessárias por cada módulo Qt5 na web. Você também pode olhar em seus programas favoritos instalar pastas para ver quais bibliotecas são necessárias por eles.

 1
Author: Antwane, 2017-05-23 12:16:47

Espero que o seguinte o ajude a compreender porque: http://doc.qt.io/qt-5/deployment.html

 1
Author: AnatolyS, 2015-10-12 07:14:13