一、 三要素:
.h头文件、.lib文件、.dll文件,也即声明 DLL 导出的标头、链接器的导入库和 DLL 本身。
二、 visual studio项目配置,打开菜单栏”项目”的最下面一项“..属性”:
(a)、.dll文件:
把C:\Users\…\opencv\build\x64\vc15\bin加入到系统环境变量中,这样项目能找到dll文件;
或者,生成事件->生成后事件->命令行->
xcopy /y /d "C:\Users\...\opencv\build\x64\vc15\bin\opencv_world454.dll" "$(OutDir)"
或者,把opencv_world454.dll文件复制到你的项目文件下;
或者,将.dll文件所在文件夹加入到环境变量中;
或者,将.dll文件复制到某个已经在环境变量的文件夹中。
(b)、.h头文件:
C/C++ ->常规 -> 附加包含目录 -> C:\Users\…\opencv\build\include,(.h文件内目录)。
(c)、.lib文件:
链接器 -> 常规 -> 附加库目录 -> C:\Users\…\opencv\build\x64\vc15\lib,(.lib文件内目录)
链接器 -> 输入 -> 附加依赖项 -> opencv_world454d.lib (文件在…\vc15\lib文件夹下)。
常见问题:
一、 无法打开文件“opencv_world454d.lib”
解决:.lib路径配置有问题,检查2.c的路径设置;
情景之一:在
opencv官方网站
的路径设置是%OPENCV_DIR%\bin或者$(OPENCV_DIR)\lib,不妨把$(OPENCV_DIR)换成绝对路径,因为可能是 OPENCV_DIR设置出现问题了, 你也可以检查环境变量OPENCV_DIR的设置。
情景之二:visual studio使用
$(IntDir)
宏来自动识别“Debug”和“Release”目录,
$(IntDir)可能会出问题。
二、 找不到“opencv_world400d.dll”
解决:.dll路径配置有问题,检查2.a。
Tips:
Visual studio 项目属性配置推荐:
- 配置属性:C/C++:语言:C++语言标准:学习用最新标准C++2020,做项目用项目标准,新项目用最新标准的前一版本C++2017;
- 配置属性:C/C++:常规:警告等级:等级4(/W4);
- 配置属性:C/C++:语言:禁用语言扩展:是(/ZA);
项目模板:生成一个opencv的模板文件,使用opencv的项目可以直接从模板生成。