在Raspberry Pi上构建时OpenCV错误

OpenCV Error while building on Raspberry PI

本文关键字:OpenCV 错误 构建 Raspberry Pi      更新时间:2023-10-16

当我使用cmake在Raspberry Pi上构建OpenCV-3.2.0时,我在安装的99%时遇到了一个奇怪的错误。

我没有更改任何东西以免弄乱任何东西,但是这似乎是一个简单的代码错误。

这是我的终端中出现的错误

/home/pi/opencv-3.2.0/modules/python/src2/cv2.cpp: In function 
‘bool pyopencv_to(PyObject*, T&, const char*) [with T = 
cv::String; PyObject = _object]’:
/home/pi/opencv-3.2.0/modules/python/src2/cv2.cpp:730:34: error: 
invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
 char* str = PyString_AsString(obj);
In file included from /home/pi/opencv- 
3.2.0/modules/python/src2/cv2.cpp:1362:

这是cv2.cpp

中的pyopencv_to函数
template<>
bool pyopencv_to(PyObject* obj, String& value, const char* name)
{
(void)name;
if(!obj || obj == Py_None)
    return true;
char* str = PyString_AsString(obj);
if(!str)
    return false;
value = String(str);
return true;
}

我应该手动更改代码吗?

它似乎是openCV中的一个错误;在我在opencv3/modules/python/src2/cv2.cpp进行以下更改后,它为我编译了。更改...

char* str = PyString_AsString(obj);

to

const char* str = PyString_AsString(obj);