Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 缺少Qt5Widgets.dll?_C++_Qt_Runtime Error_Qt5 - Fatal编程技术网

C++ 缺少Qt5Widgets.dll?

C++ 缺少Qt5Widgets.dll?,c++,qt,runtime-error,qt5,C++,Qt,Runtime Error,Qt5,我正在使用Qt创建者的Qt5 如果我从Qt Creator本身启动我的程序,它工作正常,但是如果我尝试从debug或release文件夹运行.exe文件,我只会得到一个错误: The program can't start because Qt5Widgets.dll is missing from your computer. Try reinstalling the program to fix this problem. 我是Qt新手,不知道是什么原因造成的,没有从谷歌找到任何合适的结果

我正在使用Qt创建者的Qt5

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

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
#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QWidget window();
    window.show();
    return app.exec();
}
我的
main.cpp
如下所示:

TEMPLATE = app
TARGET = test

QT += \
    core \
    gui \
    widgets \

SOURCES += \
    main.cpp
#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QWidget window();
    window.show();
    return app.exec();
}
#包括
#包括
int main(int argc,字符**argv)
{
QApplication应用程序(argc、argv);
QWidget窗口();
window.show();
返回app.exec();
}

这就是我所有的代码。

我希望以下内容能帮助您理解原因:

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

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

根据所使用的模块,还需要一些其他库来运行Qt5程序。这里列出了特定于Windows的

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


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

谢谢您的回答,这似乎是解决方案。但是,我应该为
addLibraryPath()
使用哪个路径?我得到了两个不同的
Qt5Widgets.dll
文件,它们位于以下目录中:
C:\Qt\Qt5.0.2\5.0.2\msvc2012\u 64\bin
C:\Qt\Qt5.0.2\Tools\QtCreator\bin
。配置项目时,您会指出将使用哪一个Qt。在您的情况下,我认为是C:\Qt\Qt5.0.2\5.0.2\msvc2012\u 64\bin链接导致了如此可爱的错误404。我已经修复了链接。搜索关键词是“应用程序部署”