【问题标题】:Error building opencv with cmake on raspberry pi在树莓派上使用 cmake 构建 opencv 时出错
【发布时间】:2019-12-08 16:24:59
【问题描述】:

我正在尝试在 Raspberry Pi 上构建 opencv-3.4.0(带有 opencv_contrib-3.4.0)。我在 99 % 之后遇到 cmake 构建错误,我应该更改什么?

我在 opencv-3.4.0/build 文件夹中尝试“make -j4”后,它成功完成了它的过程,直到 99%。在此之前,配置和生成部分是使用 cmake-gui 完成的。

这是我在终端上遇到的错误

    make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:63: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:4018: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
    make: *** [Makefile:163: all] Error 2

可能是什么问题?

【问题讨论】:

  • Error 1 这样的消息只是对以前的错误的总结。运行make(不带-j 参数,因此命令的输出不会混合)并找到实际错误消息
  • 啊哈,同样的事情,/home/pi/opencv-3.4.0/modules/python/src2/cv2.cpp: In function 'bool pyopencv_to(PyObject*, T&, const char *) [与 T = cv::String; PyObject = _object]':/home/pi/opencv-3.4.0/modules/python/src2/cv2.cpp:885:34:错误:从 'const char*' 到 'char*' 的无效转换 [-fpermissive] char* str = PyString_AsString(obj);

标签: opencv cmake raspberry-pi cmake-gui


【解决方案1】:

编辑文件 /home/pi/opencv-3.4.0/modules/python/src2/cv2.cpp 并更改

char* str = PyString_AsString(obj);

到 const char* str = PyString_AsString(obj);

【讨论】:

    【解决方案2】:

    一个略带侧面的回答,但我发现 4.1 版(没有贡献 - 没有尝试过)构建没有问题

    【讨论】:

    • 这似乎不是一个答案,所以它可能是在错误的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2012-11-17
    • 1970-01-01
    • 2016-09-24
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多