当我使用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);
至
const char* str = PyString_AsString(obj);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句