如何将 Windows 上的 opencv DLL 添加到 QTCreator 项目?
Posted
技术标签:
【中文标题】如何将 Windows 上的 opencv DLL 添加到 QTCreator 项目?【英文标题】:How to add opencv DLL on Windows to QTCreator project? 【发布时间】:2018-06-08 06:32:30 【问题描述】:我已经构建了 opencv 并将这些行添加到 .pro 文件中:
INCLUDEPATH += C:/opencv-3.4.1/build/install/include
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_core341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_highgui341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_imgcodecs341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_imgproc341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_features2d341d.lib
现在如果我启动项目,它会成功链接但无法启动:
Starting C:\Users\steve\Documents\build-qttest4-Desktop_Qt_5_11_0_MSVC2015_64bit-Debug\debug\qttest4.exe...
The program has unexpectedly finished.
The process was ended forcefully.
我可以告诉 QTCreator 添加 DLL 文件以将 opencv DLL 文件放入 build-qttest4-Desktop_Qt_5_11_0_MSVC2015_64bit-Debug 文件夹吗?
【问题讨论】:
【参考方案1】:这是一个解决方案(与***谷歌搜索教程不匹配):
INCLUDEPATH += C:/opencv-3.4.1/build/install/include
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_core341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_highgui341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_imgcodecs341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_imgproc341d.lib
LIBS += C:\opencv-3.4.1\build\LIB\Debug\opencv_features2d341d.lib
LIBS += -L"C:/opencv-3.4.1/build/bin/Debug"
别忘了运行 Build->Run qmake。
【讨论】:
当然 LIBS+= -L "" 是最简单的解决方案【参考方案2】:在某些 Windows 应用程序中使用 DLL 有两种方法
使用 WinAPI LoadLibrary 函数和 GetProcAddress 函数。
在 Qt PRO 文件中设置 LIB 文件的位置,该位置将告诉应用程序二进制代码在 YourLibraryName.DLL 中。但是当您运行调试器时,应用程序不知道 DLL 在哪里。一种可能的解决方案是将opencv DLL文件夹的完整路径放入Windows控制面板中的PATH环境变量
【讨论】:
以上是关于如何将 Windows 上的 opencv DLL 添加到 QTCreator 项目?的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV 2.4 staticlib 链接仍然依赖 DLL? [视窗]
使用 CMake 将 Qt DLL 复制到 Windows 上的可执行目录
windows server中opencv运行过程中MF.dll/MFReadWrite.dll/MFPlat.DLL文件丢失问题解决
Python 3.5、OpenCV 3.2、Windows 7 64 位、Anaconda 3、“ImportError:DLL 加载失败”
Windows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误