对 \`cv::VideoCapture::VideoCapture(int) 的未定义引用

新手上路,请多包涵

我正在尝试使用 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 许可协议

阅读 1.5k
1 个回答

我在 opencv 版本 3.4.3 方面遇到了同样的问题。

参考 这个例子,我发现我没有包括 libopencv_videoio 。一旦我将它添加到项目中,构建就成功了。

在 opencv 版本 3 中,我认为我们还需要包含库 -lopencv_videoio 才能使用 VideoCapture。

原文由 vishwanath_hugar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题