您的位置:首页 > 产品设计 > UI/UE

libhighgui.so: undefined reference to `cvCreateCameraCapture_V4L(int)'

2014-11-29 21:14 465 查看
OpenCV2.0.0

undefined reference to `cvCreateCameraCapture_V4L(int)'

这个问题可以参考:https://code.ros.org/trac/opencv/changeset/5206,解决如下:

修改OpenCV2.0.0/cvconfig.h.cmake文件如下:

19 19 /* V4L2 capturing support */

20 20 #cmakedefine H***E_CAMV4L2

21

22 /* V4L/V4L2 capturing support via libv4l */ //增加这一行

23#cmakedefine H***E_LIBV4L //增加这一行

21 24

22 25 /* Carbon windowing environment */

修改 OpenCV2.0.0/src/highgui/cvcap.cpp如下:

172 172
return capture;

173 173
#endif

174 #if defined (H***E_CAMV4L) || defined (H***E_CAMV4L2) //删除这一行

174 #if defined H***E_LIBV4L || (defined (H***E_CAMV4L) && defined (H***E_CAMV4L2)) //增加这一行

175 175
capture = cvCreateCameraCapture_V4L (index);

176 176
if (capture)

修改 OpenCV2.0.0/src/highgui/cvcap_libv4l.cpp如下:

227 #if !defined WIN32 && defined H***E_CAMV4L && defined H***E_CAMV4L2 //删除这一行

227 #if !defined WIN32 && defined H***E_LIBV4L //增加这一行

228 228


229 229
#define CLEAR(x) memset (&(x), 0, sizeof (x))

… …

242 242
#include <sys/ioctl.h>

243 243


244#ifdef H***E_CAMV4L //增加这一行

244 245
#include <linux/videodev.h>

246#endif //增加这一行

247#ifdef H***E_CAMV4L2 //增加这一行

245 248
#include <linux/videodev2.h>

249#endif //增加这一行

246 250


247 251
#include <libv4l1.h>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐