ToothlessTheFury
\home\Anthony_cao\Anthony_cao.c
2019-08-11 12:57

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

  • c++
  • 人工智能

环境: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条回答

为你推荐