opencv3.2 cmake error (cuda10)

https://www.ncnynl.com/archives/201903/2900.html

根据上述教程安装,但还是遇到很多问题,记录之。

再下载好opencv 和opencv_contrib后,在opencv目录下

mkdir release

cd release/

cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="7.2" -D ENABLE_PRECOMPILED_HEADERS=OFF  -D CUDA_ARCH_PTX=/usr/local -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/share -D OPENCV_EXTRA_MODULES_PATH=~/turtlebot_ws/src/tools/opencv-3.2.0/opencv_contrib/modules ..

首先注意这里路径是否与你自己吻合,cuda路径,cmake路径,和opencv路径。

 

然后就开始报错了

1.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

Please set them or make sure they are set and tested correctly in the CMake files:

CUDA_nppi_LIBRARY (ADVANCED)

 

按下面解答进行修改

https://stackoverflow.com/questions/46584000/cmake-error-variables-are-set-to-notfound

 

 

修改过依然报错,结果发现我修改错了文件。。。opencv3.2 cmake error (cuda10)

搜索只出来了第一条,我直接改了,其实文件还没搜完,等会会出现第二个。

文件路径就是下载opencv3.2的目录里。

改好后就不会报这个错了

 

 

2.

CMake Error at cmake/OpenCVUtils.cmake:1043 (file):
  file DOWNLOAD HASH mismatch

    for file: [/home/nvidia/turtlebot_ws/src/tools/opencv-3.2.0/opencv_contrib/modules/xfeatures2d/cmake/.download/7cd47228edec52b6d82f46511af325c5/vgg_generated_80.i]
      expected hash: [7cd47228edec52b6d82f46511af325c5]
        actual hash: [d41d8cd98f00b204e9800998ecf8427e]
             status: [7;"Couldn't connect to server"]

意思说下载的版本与期望的版本不一样,所以就手动下载。
参考 https://github.com/opencv/opencv_contrib/issues/1301,往下拉,有个回答有所有这些项目的链接。

由于上面cmake报错 说是 for file: [/home/nvidia/turtlebot_ws/src/tools/opencv-3.2.0/opencv_contrib/modules/xfeatures2d/cmake/.download/7cd47228edec52b6d82f46511af325c5/vgg_generated_80.i]

所以进入这个下载目录,其中/.download是隐藏目录,找的时候按CTRL+H,或者右上角选项打开隐藏目录即可。

首先找到这个目录底层,删掉之前的/vgg_generated_80.i,然后在这个目录空白地方直接右键,打开命令行,输入下面

curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i > 7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i

由于墙,浏览器也打不开这个网站,之前也下载不下来,我晚上又试了一下,突然下下来了,如下图

opencv3.2 cmake error (cuda10)

下载后的文件有前缀7cd4...啥的,重命名只保留vgg_generated_80.i,

我这里开始下载的位置不对,后来看了报错提醒,放到提醒的下载位置,然后重新make即可。

我还缺少一个这个,

curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i > 151805e03568c9f490a5e3a872777b75-vgg_generated_120.i

 

如果还提示缺少其他的,同理。

 

然后就终于成功了。。。

opencv3.2 cmake error (cuda10)