Qt5Widgets.dll丢失了吗?

Pat*_*oki 9 c++ qt runtime-error qt5

我正在使用Qt5和Qt Creator.

如果我从Qt Creator本身启动它,我的程序工作正常,但如果我尝试.exe从文件夹debugrelease文件夹运行该文件,我只会收到一个错误:

The program can't start because Qt5Widgets.dll is missing from your computer.
Try reinstalling the program to fix this problem.
Run Code Online (Sandbox Code Playgroud)

我是Qt的新手并且不知道是什么导致了这一点,没有找到任何来自谷歌的不错的结果.我已经尝试重新安装Qt5(包括创建者),但它没有帮助.


我的.proj文件看起来像这样:

TEMPLATE = app
TARGET = test

QT += \
    core \
    gui \
    widgets \

SOURCES += \
    main.cpp
Run Code Online (Sandbox Code Playgroud)

main.cpp看起来像这样:

#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QWidget window();
    window.show();
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的所有代码.

Ant*_*ane 3

当您启动使用 Qt 构建的应用程序时,您需要将代码中使用的 Qt 模块所需的所有 dll(Qt5Widgets.dll、Qt5Core.dll 等)放在与应用程序相同的文件夹中。

您不能将 addLibraryPath() 用于此目的,因为您的程序必须在执行此方法之前运行。如果在同一文件夹中找不到强制库,则无法运行。

根据您使用的模块,您还需要一些其他库来运行 Qt5 程序。此处列出了 Windows 特定的应用程序与 QT 的静态链接应用程序给出错误: 无法加载平台插件“windows”

如果您想在 GUI 中加载图像文件,您可能还需要其他库:-plugins/qjpeg.dll 等。- sqldrivers/qsqlite.dll等,如果您使用数据库(您只需要您使用的驱动程序),对于这些,您可以使用addLibraryPath()来设置特定位置,但您应该避免这种情况并尽可能尝试直接放置它们在您的应用程序附近的右侧子文件夹中。

您可以在网上找到有关每个 Qt5 模块所需的库的一些信息。您还可以查看您最喜欢的程序安装文件夹,以了解它们需要哪些库。