openCV源码Cmake编译后,VS build报错问题解决
2017-07-17 17:17
1081 查看
今天研究图像拼接,需要用到openCV中的stitching_detail。
使用的是3.2.0版本,使用VS2017打开sample项目后,参照博客指南:
全景视频拼接(二)--OpenCV源码解析
完成了build工作,然后在cmd命令行中,尝试读取图片运行,遇到了缺少SURF算子的问题。
该问题主要由于3.2.0中没有SURF和SIFT算法,之前一些解决方案include nonfree的解决办法也不能用(目录下已经取消了这个包)。因此,需要重新对openCV进行编译。这里参照的是以下博客:
OpenCV学习笔记(八)—— OpenCV 3.1.0 + opencv_contrib编译(Windows)
在Cmake对openCV进行编译的时候,遇上了报错。报错的问题是下载文件的校验码不匹配。通过手动在网上下载,复制到对应目录中就可以解决了。这里提供CSDN的一个下载地址,感谢上传者分享。
http://download.csdn.net/detail/u014045708/9831521
该压缩包中包含了基本所有需要下载的文件,且校验码都匹配。
Cmake完成编译后,使用VS 2017打开OpenCV工程。(我在Cmake编译时选择的是2017)。
进行重建的时候出现报错。
报错内容包括以下:
1.cmd.exe 已退出,代码为1
2./lib/Debug/xxx.lib 无法访问
3.Unicode编码格式错误,该文件包含不能在当前代码页(936)中表示的字符。
参照一些解决办法,认为是
链接器-依赖 的问题。
经过我查找和比对,发现链接器中的依赖没有问题(由Cmake编译后自动生成的依赖关系),而是实际上目录中没有对应的lib文件。编译器输出的lib文件中,主要以cuda居多,版本号都是320。
后来,我想起我CUDA安装对应的是VS2015版本(VS2017未支持CUDA),因此,我重新使用了Cmake,选择VS2015
win64位进行编译生成。之后,使用VS2015打开工程,重建,顺利通过(等了很久……)。
注意!!使用VS2015(你CUDA安装的那个版本)打开工程,build!
build的时间大概在2个小时左右。期间控制台不断输出Unicode编码错误,是正常情况!(也有可能是乱码)
编译后,打开原有的sample,注意更改工程的依赖、库、链接器,删除掉原有的依赖目录,添加编译的install下的目录。否则,build之后,生成的工程依然会报一样的错误(缺少SURF算子啥啥的)
使用的是3.2.0版本,使用VS2017打开sample项目后,参照博客指南:
全景视频拼接(二)--OpenCV源码解析
完成了build工作,然后在cmd命令行中,尝试读取图片运行,遇到了缺少SURF算子的问题。
OpenCV Error: The function/feature is not implemented (OpenCV was built without SURF support)
该问题主要由于3.2.0中没有SURF和SIFT算法,之前一些解决方案include nonfree的解决办法也不能用(目录下已经取消了这个包)。因此,需要重新对openCV进行编译。这里参照的是以下博客:
OpenCV学习笔记(八)—— OpenCV 3.1.0 + opencv_contrib编译(Windows)
在Cmake对openCV进行编译的时候,遇上了报错。报错的问题是下载文件的校验码不匹配。通过手动在网上下载,复制到对应目录中就可以解决了。这里提供CSDN的一个下载地址,感谢上传者分享。
http://download.csdn.net/detail/u014045708/9831521
该压缩包中包含了基本所有需要下载的文件,且校验码都匹配。
Cmake完成编译后,使用VS 2017打开OpenCV工程。(我在Cmake编译时选择的是2017)。
进行重建的时候出现报错。
报错内容包括以下:
1.cmd.exe 已退出,代码为1
2./lib/Debug/xxx.lib 无法访问
3.Unicode编码格式错误,该文件包含不能在当前代码页(936)中表示的字符。
参照一些解决办法,认为是
链接器-依赖 的问题。
经过我查找和比对,发现链接器中的依赖没有问题(由Cmake编译后自动生成的依赖关系),而是实际上目录中没有对应的lib文件。编译器输出的lib文件中,主要以cuda居多,版本号都是320。
后来,我想起我CUDA安装对应的是VS2015版本(VS2017未支持CUDA),因此,我重新使用了Cmake,选择VS2015
win64位进行编译生成。之后,使用VS2015打开工程,重建,顺利通过(等了很久……)。
注意!!使用VS2015(你CUDA安装的那个版本)打开工程,build!
build的时间大概在2个小时左右。期间控制台不断输出Unicode编码错误,是正常情况!(也有可能是乱码)
编译后,打开原有的sample,注意更改工程的依赖、库、链接器,删除掉原有的依赖目录,添加编译的install下的目录。否则,build之后,生成的工程依然会报一样的错误(缺少SURF算子啥啥的)
相关文章推荐
- Cmake编译OpenCV和如何在VS工程中配置来使用编译后的OpenCV进行跟踪调试问题
- OpenCV3.2采用CMake编译时下载ippicv_windows_20151201.zip失败的问题解决
- openCV2.4.13+VS2015+Cmake开发环境配置,解决nonfree问题
- CMAKE编译opencv源码错误解决办法
- Cmake编译OpenCV源码提示error MSB6006: “cmd.exe”已退出,代码为 1解决思路
- Jetson TX1刷机教程(解决Auvidea carrier boards(2x USB3.0)+ 源码编译安装opencv3.2存储空间不足问题)
- 源码编译出现的问题cmake 提示C compiler was not found和Cxx complier was not found解决办法
- 3D游戏编程大师技巧第一章 vs2013编译书本源码问题解决方案
- Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法 主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一
- 为什么要使用CMake+VS编译OpenCV的源码
- [置顶] Windows下利用Cmake编译OpenCV3.2.0 遇到ipipcv问题解决
- QtCreator 4.0 Q5.7 VS2015 源码中有中文导致编译失败的问题的解决方法
- 关于CMake生成OpenCV源码VS .sln出错的解决方法
- win10 使用cmake编译opencv源码生成VS工程(二)
- openCV310编译vs2013问题解决
- 为什么要使用CMake+VS编译OpenCV的源码
- Android源码编译JNI遇到的问题与解决方法
- vim7.4官方源码在vs2013的编译方法及问题总结
- 解决VS+opencv中Debug版本与Release版本lib切换的问题
- 如何解决VS.NET中应用程序编译完后改变引用位置的问题