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的目录里。
改好后就不会报这个错了
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
由于墙,浏览器也打不开这个网站,之前也下载不下来,我晚上又试了一下,突然下下来了,如下图
下载后的文件有前缀7cd4...啥的,重命名只保留vgg_generated_80.i,
我这里开始下载的位置不对,后来看了报错提醒,放到提醒的下载位置,然后重新make即可。
我还缺少一个这个,
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i > 151805e03568c9f490a5e3a872777b75-vgg_generated_120.i
如果还提示缺少其他的,同理。
然后就终于成功了。。。