解压路径自选,例如:
本体:D:\dev\opencv-4.5.2\opencv
contrib:D:\dev\opencv-4.5.2\opencv_contrib-4.5.2
where is the source code :D:/dev/opencv-4.5.2/opencv/sources
(与前述路径相关)
where to build the binaries:D:/dev/opencv-4.5.2/build
(自选位置)
preset建议选x64
熟悉的多次Configure的时间
Configure几乎一定会出现下载失败的红字提醒,可以在build路径下的CMakeDownloadLog.txt文件中找到下载的地址。文件中有若干这样的语句:
#cmake_download fileName url
这时要手动从url
处下载文件,并且按照fileName
处的文件名重命名并移到对应路径。对应路径应该已经存在一个0kb的同名文件(因为下载失败了)。
之后重新Configure,红字应该消失了。
在组OPENCV 中将OPENCV_EXTRA_MODULES_PATH
的键值改为contrib解压后的modules子文件夹,如D:/dev/opencv-4.5.2/opencv_contrib-4.5.2/modules
继续 Configure,这时可以勾选需要的组件了,根据需要勾选。
勾选后Configure,这时可能又会因为下载失败而红字,按照前面的方法解决。
最为重要的步骤来了,请务必勾选: OPENCV_ENABLE_NONFREE
为了减少lib和dll数量,这里可以勾选BUILLD_opencv_world
(不建议,可能出现问题)
排除红字之后,Generate,然后Open Project进入下一步。
我个人不喜欢debug,所以直接选择Release x64,分别生成CMakeTargets
下的ALL_BUILD
和INSTALL
即可,这一步需要耗费较长时间。
如果你需要对应的debug文件,建议选择 生成 - 批生成 ,把这两个的debug和release都勾上,然后点生成。
假如你之前的build目录在D:/dev/opencv-4.5.2/build
,编译完成后你需要的文件分别是:
dll文件在:D:\dev\opencv-4.5.2\build\install\x64\vc15\bin
(其中vc15因编译器而异)
lib文件在:D:\dev\opencv-4.5.2\build\install\x64\vc15\lib
包含目录在:D:\dev\opencv-4.5.2\build\install\include
在新建的VS项目中,在属性管理器中右键Release|x64
添加新项目属性表,并双击此属性表开始配置项目:
对应3中路径,填入:
VC++目录 - 包含目录:
D:\dev\opencv-4.5.2\build\install\include
D:\dev\opencv-4.5.2\build\install\include\opencv2
VC++目录 - 库目录:
D:\dev\opencv-4.5.2\build\install\x64\vc15\lib
链接器 - 输入:
前面库目录中的lib文件的文件名,一种方法是新建bat文件,如getLibFileName.bat ,编辑填入代码:
dir /b *.lib>libFileName.txt
保存,双击运行,即可在libFileName.txt 文件中获得需要的文件名。
最后,记得在环境变量Path中添加:D:\dev\opencv-4.5.2\build\install\x64\vc15\bin