我正在使用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
答案 0 :(得分:1)
[编辑:此答案涉及原始问题]
通常你会添加
LIBS += -LS:/3rdparty/DFS.Infrastructure.ThreadingW \
-lpthreadVC2
这会将您图书馆的文件夹添加为库搜索路径(请注意首都-L
)和pthreadVC2.lib
作为要链接的库(小写-l
)。
您不需要将.dll添加到LIBS路径,因为.dll是在运行时加载的。
但是:此方法仅在.lib与.dll位于同一文件夹中时才有效。我有点惊讶你在不同的地方有你的。
可能会添加
LIBS += -LS:/3rdparty
可行,但我不确定。
无论如何,您需要将.dll与.exe一起部署用于发行版。