10

我将 Qt5 与 Qt Creator 一起使用。

如果我从 Qt Creator 本身启动它,我的程序工作得很好,但是如果我尝试.exedebugrelease文件夹运行文件,我只会得到一个错误:

The program can't start because Qt5Widgets.dll is missing from your computer.
Try reinstalling the program to fix this problem.

我是 Qt 的新手,不知道是什么原因造成的,没有从谷歌找到任何体面的结果。我已经尝试重新安装 Qt5(包括创建者),但没有帮助。


我的.proj文件如下所示:

TEMPLATE = app
TARGET = test

QT += \
    core \
    gui \
    widgets \

SOURCES += \
    main.cpp

我的main.cpp样子是这样的:

#include <QApplication>
#include <QWidget>

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

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

4

2 回答 2

3

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

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

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

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

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

于 2013-05-08T10:22:11.337 回答
1

我希望以下内容可以帮助您理解原因: http ://doc.qt.io/qt-5/deployment.html

于 2013-05-07T19:58:55.167 回答