【发布时间】:2014-04-06 16:17:47
【问题描述】:
从 QtCreator 执行时可以完美运行的 Qt 应用程序,当我尝试从调试文件夹(没有 QtCreator)执行它时不会运行。它要求了很多.dll文件,我一个一个下载,并添加到调试文件夹中。 现在我得到了错误:
The program can't start because libwinpthread-1.dll is missing from your computer.
Try reinstalling the program to fix this problem.
我在 Internet 上的任何地方都找不到 libwinpthread-1.dll。我做错了什么?
可执行文件的路径是:
C:\Qt\Tools\QtCreator\bin\build-SimpleText1_3-Desktop_Qt_5_2_1_MinGW_32bit\Debug
项目文件:
#-------------------------------------------------
#
# Project created by QtCreator 2014-04-04T14:29:48
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = SimpleText1_3
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
CONFIG += console c++11
QMAKE_CXXFLAGS += -std=c++11
还有main.cpp:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
【问题讨论】:
-
请给出具体路径,main.cpp和工程文件。另外,重新阅读 tagwiki。这是Qt,不是QT。你在混合 32 位和 64 位吗?
-
我不认为我完全理解你的问题。我使用 Qt 创建者 x64。当我下载 dll 文件时,我不得不下载 32bit dll 文件(64bit dll 在执行中产生了更多错误)。
-
对,所以很可能您将它们混合在一起。 QtCreator 可以是 32 位和 64 位,但不能将二进制文件与 32 位和 64 位 dll 混合并构建。你构建的可执行文件是 32 位的,所有的 dll 也是,对吧?
-
我不知道如何检查我构建的可执行文件,如果它是 32 位还是 64 位。但是我下载的所有dll文件都是32位的。
-
你能显示一些dll文件名吗?至于二进制是 32 位还是 64 位,请显示 qmake 行运行,或您的规范配置。您可能正在尝试构建 64 位二进制文件。
标签: c++ qt pthreads qt-creator qmake