admin管理员组文章数量:1658436
最近本人在啃《学习OpenCV3》这本书,在“跨平台与Windows系统”这一章节中,书上提到编译OpenCV时,在cmake选项中,勾选WITH_QT则可以使用基于Qt的GUI模块,相比OpenCV自带的highgui功能更强;但在我实际操作之后,发现有关如何使用win10 + visual studio 2017 + cmake实现上述操作的文章很少,而且不少还存在错误,在经历了一天的折腾终于摸清这当中的操作之后,决定写篇博客记录一下自己方法,给有需要的人一个参考。
环境:
- Windows10
- Visual Studio 2017
- OpenCV3.4.3
- Qt5.9.6
- cmake-gui
我电脑上OpenCV的安装位置是“C:/OpenCV/opencv”,首先,在“C:/OpenCV”下新建一个文件夹,命名为rebuild,稍后将在这个文件夹内重编译OpenCV。
接下来,打开cmake,点击browse source,选择“C:/OpenCV/opencv/source”文件夹。
之后,选择browse build,选择“C:/OpenCV/rebuild”文件夹。
再然后,点击右下角的configure,选择visual studio 15 2017 Win64(此为64位编译器)点击finish,等待进度条跑完,最后结果如下。
红色部分就列出了我们在编译时可以选择的选项,这里我们将WITH_QT和WITH_OPENGL打开,在search一栏内输入想要找的选项即可。
之后,再次点击configure,直到没有红色的选项,代表所有环境都正确安装,配置没有错误;然后,就可以点击generate生成工程了。
工程生成完成之后,点击open project,cmake会自动用visual studio打开这个工程,在VS内打开解决方案资源管理器,找到ALL_BUILD和INSTALL两个项目:
先右键ALL_BUILD,单击生成,让电脑飙一会:
等电脑安静下来以后,右键INSTALL这个项目,单击生成,这一步不需要耗时很久。
接下来回到刚刚的rebuild文件夹,找到这个install文件夹,里面的东西就是我们这一趟折腾下来的成果:
文件夹打开以后,里面的东西是这样的:
把里面的东西复制出来,粘贴到原来的OpenCV环境的build目录下,在我的电脑上是“C:/OpenCV/opencv/build”,替换掉原来的文件,之后rebuild文件夹内的东西就都可以删了(至少这么操作我没有遇到任何问题,有一些教程表示这些文件应该保留)。
之后就是配置VS内的解决方案属性了,VC++目录——包含目录 & VC++目录——库目录的设置还是和以前一样,不用改,需要修改的是链接器——输入——附加依赖项,改为以下内容:
opencv_calib3d343d.lib
opencv_core343d.lib
opencv_dnn343d.lib
opencv_features2d343d.lib
opencv_flann343d.lib
opencv_highgui343d.lib
opencv_imgcodecs343d.lib
opencv_imgproc343d.lib
opencv_ml343d.lib
opencv_objdetect343d.lib
opencv_photo343d.lib
opencv_shape343d.lib
opencv_stitching343d.lib
opencv_superres343d.lib
opencv_video343d.lib
opencv_videoio343d.lib
opencv_videostab343d.lib
简单来讲就是把“C:/OpenCV/opencv/build/x64/vc15/lib”目录下所有.lib文件的文件名打一遍(原来的opencv_world343d.lib除外)
到这一步,我们就可以按下神圣的F5了:
相信大家都学会了,赶快回家敲键盘吧!
版权声明:本文标题:win10下利用cmake和vs重新编译opencv源码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729803898a1213123.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论