c++ - Ubuntu OpenCV 不编译

标签 c++ opencv ubuntu

我正在尝试使用以下命令编译 OpenCV 3.2:

1.
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/ -DOPENCV_EXTRA_MODULES_PATH=/home/matteo/Desktop/Xilinx/OpenCV/source/opencv_contrib/modules/ /home/matteo/Desktop/Xilinx/OpenCV/source/opencv-3.2.0/
2.
make -j7 # runs 7 jobs in parallel
3.
sudo make install

你能解释一下为什么我得到

...
........
...........
........................
-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
-- Caffe:   NO
-- Protobuf:   NO
-- Glog:   NO
-- Downloading ...
CMake Error at cmake/OpenCVUtils.cmake:1043 (file):
  file DOWNLOAD cannot open file for write.
Call Stack (most recent call first):
  ../opencv_contrib/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:32 (ocv_download)
  ../opencv_contrib/modules/dnn/CMakeLists.txt:5 (include)


CMake Error at cmake/OpenCVUtils.cmake:1047 (message):
  Failed to download .  Status=
Call Stack (most recent call first):
  ../opencv_contrib/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:32 (ocv_download)
  ../opencv_contrib/modules/dnn/CMakeLists.txt:5 (include)


-- Configuring incomplete, errors occurred!

我正在使用 Ubuntu 16.04。我已经在系统上安装了 OpenCV:也许我以错误的方式卸载它?我记得用上面使用的相同命令编译 OpenCV 3.2。

最佳答案

您必须拥有 opencv_contrib 和 opencv 本身的匹配版本。

在opencv github下,进入OpenCV releases并下载3.2.0(在master分支应该是一样的)。

现在,转到 https://github.com/opencv/opencv_contrib/releases并下载 3.2.0。然后你将有两个版本匹配。

之后,在 opencv_contrib master 分支的 README.md 中找到的所有 cmake 命令都应该可以正常工作。

关于c++ - Ubuntu OpenCV 不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081022/

相关文章:

c++ - 我可以在所有 MSVC >= 2013 上安全地使用哪些 SFINAE 技巧?

python - 由于使用 PyTesseract 的背景颜色,无法从屏幕截图中读取文本

python - 如何通过值正确地将对象传递给函数

c++ - 无法通过 open() 创建的文件授予其他人对我的写入权限

c++ - 为什么 vs c++ 2010 编译器会为相似的函数生成不同的汇编代码

c++ - 用C++输入十六进制和读取十六进制

c++ - "Enlarging"一个二维数组 (m,n)

c++ - 使用 opencv 和 c++ 在检测到的圆周围绘制一个矩形

postgresql - 致命 : could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied

ubuntu - 设置 make 总是同时做 8 个工作