编译opencv库vs2017+opencv3.4.8+opencv_contrib+cuda10

因为要用到opencv的sift和surf函数,但是opencv3之后的版本已经将这些模块移到opencv_contrib里,因此需要自己编译opencv库。

编译折腾了两天,其中还挺多要注意的,下面记录一下:

1、gitlab上下载opencv3.4.8和opencv_contrib-3.4.8,注意二者版本要一致;

2、安装cmake,我装的3.18.0;

3、开始编译:

  • 编译时注意选择vs2017,并改为x64,我这默认是x86,不改是编不过的,因为cuda不支持x86;
  • ffmpeg、matalab、face都取消勾选,反正用不上,节约时间;
  • cuda、world、enable_nonfree勾上,特别是这个enable_nonfree,没勾上害我整个过程重来一遍;
  • 设置extra:opencv_contrib-3.4.8\modules,注意转义字符双斜线;
  • 有时候编译过程中boostdesc_bgm还有vgg_generated_*下载失败,我直接自行从网上下载,网上有好心人挂到百度云上了,然后将文件夹内的文件复制到opencv_contrib-3.4.8/modules/xfeatures2d/src中,以及build\downloads\xfeatures2d
  • 那个ippicv_windows包也很大很难下载,也可以自行下载,然后放到opencv3.4.8\3rdparty\ippicv\downloads\windows-04e81ce5d0e329c3fbc606ae32cad44d下替换即可!
  • 我还从网上下了个.cache包,用于替换opencv3.4.8下的.cache

4、然后打开opencv.sln开始编,我编build时编了三个多小时,然后就顺利可以用了。

你可能感兴趣的:(C/C++,OpenCV)