首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在QT5.12的OpenCV dll中找不到入口点

在QT5.12的OpenCV dll中找不到入口点
EN

Stack Overflow用户
提问于 2020-12-09 15:14:38
回答 1查看 204关注 0票数 2

TLDR:将OpenCV与QT MingW链接,使应用程序在调试中崩溃,而不是发布。

我试图在一个基于Qt的大型多操作系统项目中使用OpenCV。我很容易就为Mac和Linux构建了OpenCV,但是我很难在Windows上使用它。

环境:

Qt 5.12.2 MinGW

MinGW 8.1.0 64位

OpenCV基本上是4.1.0以来的所有版本

CMake 3.19

我试过什么

  • I最近使用了使用pacman的MSys2预构建包,并尝试了4.2到4.5版本,但没有真正成功。我设法从msys的安装路径(C:\msys 64\mingw64\bin)链接OpenCV库,并在环境路径中使用Qt生成的.exe启动应用程序。但是,一旦我将所需的库拖到第三方库文件夹中进行部署,应用程序就不能再在调试中启动(使用Qt或.exe)。

  • 我尝试了发布模式,一切都很好,

现在,每当我使用Qt在Debug中运行应用程序时,程序就会立即崩溃,甚至没有进入主程序。当我使用.exe时,我有以下错误:

我已经看到这可能是一个TBB问题,所以我尝试使用与MSys不同的版本,但没有成功。

我试图为构建和运行更改Qt中的路径变量,但没有成功。

我的.pri中的包含和Libs如下所示(它们都是在构建过程中找到的)

代码语言:javascript
复制
INCLUDEPATH += -I $$PWD/../../ext/OpenCV/include/opencv4
DEPENDPATH += -$$PWD/../../ext/OpenCV/include/opencv4

LIBS += -L$$PWD/../../ext/OpenCV/lib/$$OSFOLDER/$$ARCHFOLDER  -lopencv_imgproc430
LIBS += -L$$PWD/../../ext/OpenCV/lib/$$OSFOLDER/$$ARCHFOLDER  -lopencv_core430
LIBS += -L$$PWD/../../ext/OpenCV/lib/$$OSFOLDER/$$ARCHFOLDER  -lopencv_dnn430
LIBS += -L$$PWD/../../ext/OpenCV/lib/$$OSFOLDER/$$ARCHFOLDER  -lopencv_imgcodecs430
LIBS += -L$$PWD/../../ext/OpenCV/lib/$$OSFOLDER/$$ARCHFOLDER  -lopencv_highgui430
EN

回答 1

Stack Overflow用户

发布于 2020-12-10 09:53:25

好了,我终于成功了!正如我在问题中所说的,当TBB版本不正确时,有时会发生此错误,下面是我所做的:

使用此存储库:https://github.com/oneapi-src/oneTBB手工构建TBB,该存储库包含基于CMake的官方存储库https://github.com/oneapi-src/oneTBB构建系统。

使用您稍后将在应用程序中使用的编译器使用所需的版本构建

  • OpenCV:

代码语言:javascript
复制
- Uncheck 'BUILD\_TBB', check 'WITH\_TBB' and point to the previously built TBB libraries and include.
- Add the flags you need ( OPENCV\_ENABLE\_ALLOCATOR\_STATS=OFF for instance ) and build it.

  • 最后添加了从'path/to/opencv-build/bin‘到path/to/opencv-build/install/bin’的库(也许这就是我们应该做的,但我不确定),它对我起了作用!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65219534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档