文章目录
- 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项目
- 打开QtQcreator软件,选择创建一个新项目New Project
2. 选择library->C++库->Choose…
3. 选择共享库->添加库项目的名称->继续下一步
4. 勾选Select all kits->Desktop Qt 5.12.3 MinGW 64-bit (这里编译器根据自己的来即可)
5. 选择模块项->继续下一步
6. 然后确认项目名、选择代码管理之后完成dll动态库的创建。
03、dll项目配置说明
这里贴上一张按照上述创建项目之后的最终截图如下:
- 第一步:配置.pro文件
tips: OpenCV的配置及两个目录的由来请参考其他博主的QT配置OpenCV的博客,很基础的东西,这里不做介绍了。
- 第二步:添加几个接口作为测试函数。
- 关于_global.h文件介绍*
Q_DECL_IMPORT宏标记用于共享库导出的符号,如不想使用此opencvcameralib_global.h文件,只需要 将 4~10行拷贝到OpenCVCameraLib.h中即可。
如下图:
如果不想使用这个文件,可以删掉,只需要将红框的内容复制到项目名.h的头文件中即可。
04、dll动态库测试
-
新建一个Qt Widgets Application项目
-
重命名项目名称
-
选择项目配置版本
-
修改类信息,默认MainWindow即可
-
选择版本控制,有git就使用git
创建好的界面和.pro文件如下:
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即可。