C++ 缺少Qt5Widgets.dll?
我正在使用Qt创建者的Qt5 如果我从Qt Creator本身启动我的程序,它工作正常,但是如果我尝试从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新手,不知道是什么原因造成的,没有从谷歌找到任何合适的结果
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。我已经修复了链接。搜索关键词是“应用程序部署”