\home\Anthony_cao\Anthony_cao.c 2019-08-11 12:57 采纳率: 100%
浏览 5185
已采纳

为什么Opencv3.4.0使用make编译时出现错误?

环境:Debian(Raspiberry Pi Buster)

cmake version: 3.0.2

gcc version: 8.2.0

python version: 3.7.2

make version: 4.2.1

本来计划用opencv基于python进行图像辨别

在使用cmake配置完成后使用make命令编译:

sudo make

编译到大约90%时,出现如下错误:

#这是之前很多条控制台信息中的warning
warning: cast between incompatible function types from ‘PyObject* (*)(PyObject*, PyObject*, PyObject*)’ {aka ‘_object* (*)(_object*, _object*, _object*)’} to ‘PyCFunction’ {aka ‘_object* (*)(_object*, _object*)’} [-Wcast-function-type]

#make错误,退出
make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:21149: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make: *** [Makefile:138: all] Error 2

如图(图1中使用了make -i选项忽略错误,继续编译剩余部分,但open_cv python3没有成功编译):

图片说明

(图2显示了make的错误)

图片说明

#忽略错误后出现的c++error
c++: error: Cmakefiles/opencv_python3.dir/__/src2/cv2.cpp.o No such file or dictionary

在网上看到的编译错误的例子都和这个有所区别,没有能够很好地解决问题。有的说这是gcc编译器的问题

希望各位大佬们能够帮忙分析一下错误的原因,因为我的项目急需配置好opencv,也没有其它更好的替代,谢谢~

  • 写回答

4条回答

  • P_B_Y 2019-09-03 16:31
    关注

    我和小伙伴解决了这个问题,我们的设备是树莓派3B。
    方案一:如果你不需要opencv4.X的版本。先需要安装opencv的依赖库,再使用sudo apt-get install python3-opencv,就可以安装opencv,
    并且不需要编译,opencv的版本是3.2.
    方案二:如果需要opencv4.1.0版本,编译的过程比较顺利,安装成功。具体的步骤可以在网上找找,注意最好使用32G的内存卡,不然后面会卡住。当然了,我们也没弄懂那个错误的原因,但是还是解决了错误。
    如果有大佬知道原因的话欢迎帮忙回答哈。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型