Qt 缺少存在的DLL的运行时错误

Qt 缺少存在的DLL的运行时错误,qt,dll,pthreads,Qt,Dll,Pthreads,我正在使用Qt Creator编写一个工具,该工具可以构建,但会立即崩溃,并显示以下消息: “程序无法启动,因为您的系统中缺少pthreadVC2.dll 请尝试重新安装程序以解决此问题” 当然,“pthreadVC2.dll”库并没有丢失(并且没有损坏,因为它与其他项目一起工作),它位于Qt pro文件中指定的路径中: # DeltaPlots.pro TARGET = DeltaPlots QT += core gui CONFIG += console greaterThan(QT_MA

我正在使用Qt Creator编写一个工具,该工具可以构建,但会立即崩溃,并显示以下消息:

“程序无法启动,因为您的系统中缺少pthreadVC2.dll 请尝试重新安装程序以解决此问题”

当然,“pthreadVC2.dll”库并没有丢失(并且没有损坏,因为它与其他项目一起工作),它位于Qt pro文件中指定的路径中:

# DeltaPlots.pro

TARGET = DeltaPlots
QT += core gui
CONFIG += console
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TEMPLATE = app

win32 {
    INCLUDEPATH += S:\\3rdparty\\DFS.Infrastructure.ThreadingW \
                   S:\\3rdparty\\DFS.Infrastructure.File \
            "C:\\path\\to\\boost\\boost_1_51_0"

    win32-g++:LIBS += -L"S:\\lib\\" -lMyLib
    win32-g++:LIBS += -L"S:\\3rdparty\\DFS.Infrastructure.File\\" -lDFS.Infrastructure.FileSystem
    win32-g++:LIBS += -L"S:\\3rdparty\\DFS.Infrastructure.ThreadingW\\" -lDFS.Infrastructure.Threading -lpthreadVC2
}

SOURCES += MainWindow.cpp \
           entrypoint.cpp

HEADERS += MainWindow.h

FORMS   += MainWindow.ui

OTHER_FILES += ProjectList.txt \
               ImageList.txt
平台:
Windows 7
MinGW
Qt 4.8.3

Qt Creator 2.6.0

[编辑:此答案涉及原始问题]

通常你会加上

LIBS += -LS:/3rdparty/DFS.Infrastructure.ThreadingW \
        -lpthreadVC2
这会将库文件夹添加为库搜索路径(注意大写字母
-L
)和
pthreadVC2.lib
作为要链接的库(小写字母
-L

您不需要将.dll添加到LIBS路径,因为.dll是在运行时加载的

但是:此方法仅在.lib与.dll位于同一文件夹中时有效。我有点惊讶你的手机在不同的地方

也许加上

LIBS += -LS:/3rdparty
会有用的,但我不确定


在任何情况下,您都需要将.dll与.exe一起部署以进行发布。

将.lib和.dll放在同一目录中并不能解决我的问题。将.dll复制到可执行文件正常工作的目录中,即使没有.lib.dll文件,也有办法在.pro文件中指定DLL所在的目录吗?请在此处找到答案: