我正在尝试使用 C++ 和 OpenCV 使用我的网络摄像头,但我遇到了这个错误
(…):Images.cpp:(.text+0x27): 未定义对 cv::VideoCapture::VideoCapture(int) 的引用
(…):Images.cpp:(.text+0x38): 未定义对 cv::VideoCapture::~VideoCapture() 的引用
(…):Images.cpp:(.text$_ZN2cv6StringD1Ev[_ZN2cv6StringD1Ev]+0x11): 对 cv::String::deallocate() 的未定义引用 …
我的代码:
#include <iostream>
#include <string.h>
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#include "opencv2/videoio/videoio.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/video.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace std;
using namespace cv;
int main(int argc, char const *argv[])
{
VideoCapture cap(0);
return 0;
}
原文由 Felipe Machado 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 opencv 版本
3.4.3
方面遇到了同样的问题。参考 这个例子,我发现我没有包括
libopencv_videoio
。一旦我将它添加到项目中,构建就成功了。在 opencv 版本 3 中,我认为我们还需要包含库
-lopencv_videoio
才能使用 VideoCapture。