【QT/OpenCV】Qt创建并发布OpenCV dll项目

文章目录

      • 01、开发版本
      • 02、QT创建dll项目
      • 03、dll项目配置说明
      • 04、dll动态库测试

01、开发版本

以下所有源码与软件都是基于下面的版本。

1、QT: Based on Qt 5.12.2 (MSVC 2017, 32 bit)
2、OpenCV: OpenCV – 4.5.1

tips: OpenCV的版本不一定要跟我一样,但是版本之间可能会有些接口或者使用方法已经被更改,会导致使用后期关于我自己写的OpenCV的文章会有一些地方不能通用,望悉知!

02、QT创建dll项目

  1. 打开QtQcreator软件,选择创建一个新项目New Project

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第1张图片
2. 选择library->C++库->Choose…

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第2张图片 3. 选择共享库->添加库项目的名称->继续下一步

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第3张图片
4. 勾选Select all kits->Desktop Qt 5.12.3 MinGW 64-bit (这里编译器根据自己的来即可)

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第4张图片
5. 选择模块项->继续下一步

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第5张图片
6. 然后确认项目名、选择代码管理之后完成dll动态库的创建。

03、dll项目配置说明

这里贴上一张按照上述创建项目之后的最终截图如下:
【QT/OpenCV】Qt创建并发布OpenCV dll项目_第6张图片

  1. 第一步:配置.pro文件
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第7张图片

tips: OpenCV的配置及两个目录的由来请参考其他博主的QT配置OpenCV的博客,很基础的东西,这里不做介绍了。

  1. 第二步:添加几个接口作为测试函数。
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第8张图片
  2. 关于_global.h文件介绍*

Q_DECL_IMPORT宏标记用于共享库导出的符号,如不想使用此opencvcameralib_global.h文件,只需要 将 4~10行拷贝到OpenCVCameraLib.h中即可。

如下图:

【QT/OpenCV】Qt创建并发布OpenCV dll项目_第9张图片
如果不想使用这个文件,可以删掉,只需要将红框的内容复制到项目名.h的头文件中即可。

04、dll动态库测试

  1. 新建一个Qt Widgets Application项目
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第10张图片

  2. 重命名项目名称
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第11张图片

  3. 选择项目配置版本
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第12张图片

  4. 修改类信息,默认MainWindow即可
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第13张图片

  5. 选择版本控制,有git就使用git
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第14张图片
    创建好的界面和.pro文件如下:
    【QT/OpenCV】Qt创建并发布OpenCV dll项目_第15张图片

tips:这里.pro中还配置了OpenCV的配置是因为我之前用这个项目做图形测试,所以保留了这个项目的部分接口,理论来说,用库的方式调用,这里只需要包含
LIBS += C:\Users\10125\Documents\OpenCV_CameraDemo\OpenCVCameraLib.dll
这里路径是库的生成路径,即Relese目录下的dll库路径。
注意: dll库和.h文件都要放入测试文件(实际调用项目)的exe文件同级,不然会报编译错误,即程序crashed。

错误如下:

11:58:40: Starting C:\Users\10125\Documents\build-OpenCV_CameraDemo-Desktop_Qt_5_12_3_MinGW_64_bit-Release\release\OpenCV_CameraDemo.exe ...
11:58:43: 程序异常结束。
11:58:43: The process was ended forcefully.
11:58:43: C:/Users/10125/Documents/build-OpenCV_CameraDemo-Desktop_Qt_5_12_3_MinGW_64_bit-Release/release/OpenCV_CameraDemo.exe crashed.

然后验证接口的调用是否OK即可。

你可能感兴趣的:(OpenCV,QT,opencv,qt,人工智能)