Qt 缺少存在的DLL的运行时错误
我正在使用Qt Creator编写一个工具,该工具可以构建,但会立即崩溃,并显示以下消息: “程序无法启动,因为您的系统中缺少pthreadVC2.dll 请尝试重新安装程序以解决此问题” 当然,“pthreadVC2.dll”库并没有丢失(并且没有损坏,因为它与其他项目一起工作),它位于Qt pro文件中指定的路径中: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
# 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所在的目录吗?请在此处找到答案: