我使用Qt5与Qt Creator。
如果我从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
我的main.cpp
是这样的:
#include <QApplication>
#include <QWidget>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QWidget window();
window.show();
return app.exec();
}
这就是我所有的代码
当你启动一个用Qt构建的应用程序时,你需要将代码中使用的Qt模块所需的所有dll (Qt5Widgets.dll, Qt5Core.dll等)放在与你的应用程序相同的文件夹中。
你不能为此目的使用addLibraryPath(),因为你的程序必须在执行这个方法之前运行。如果没有在同一文件夹中找到强制库,它将无法运行。
您还需要一些其他库来运行Qt5程序,具体取决于您使用的模块。Windows特定的在这里列出与QT静态链接的应用程序给出错误:未能加载平台插件" Windows "。
你可能还需要其他库:-插件/qjpeg.dll等,如果你想在你的GUI加载图像文件。- sqldrivers/qsqlite.dll等,如果你使用数据库(你只需要你使用的驱动程序)对于这些,您可以使用addLibraryPath()来设置特定的位置,但您应该避免这种情况,并尽可能将它们直接放在应用程序附近的正确子文件夹中。
你会在网上找到每个Qt5模块所需的库的一些信息。你也可以查看你最喜欢的程序安装文件夹,看看它们需要哪些库。
我希望以下内容能帮助你理解其中的原因:http://doc.qt.io/qt-5/deployment.html