环境: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,也没有其它更好的替代,谢谢~