繁体   English   中英

LNK2019:OpenCV 中未解析的外部符号

[英]LNK2019: Unresolved External Symbol in OpenCV

我已经尝试了几天到几天在 Windows 10 中配置 opencv 库,这真是一场噩梦!

这是我的代码:

#include <opencv2/video.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <svm.h>
#include <stdio.h>

using namespace std;
using namespace cv;

int main(int argc, char** argv) {

    (...)

    /*2. PROCESAR VÍDEO*/

    int c;
    IplImage* color_img;
    CvCapture* cv_cap = cvCaptureFromCAM(0);
    cvNamedWindow("Video", 0); // create window
    for (;;) {
        color_img = cvQueryFrame(cv_cap); // get frame
        if (color_img != 0)
            cvShowImage("Video", color_img); // show frame
        c = cvWaitKey(10); // wait 10 ms or for key stroke
        if (c == 27)
            break; // if ESC, break and quit
    }
    /* clean up */

    cvReleaseCapture(&cv_cap);
    cvDestroyWindow("Video");
    return (EXIT_SUCCESS);
}

这是我的 Visual Studio 17 配置:

  • 在 C/C++ 中

C/C++

- 在链接器中:

链接器图像

在链接器/输入中,我添加了以下库:

  • opencv_calib3d345d.lib opencv_core345d.lib opencv_features2d345d.lib opencv_flann345d.lib opencv_highgui345d.lib opencv_imgproc345d.lib libpng.lib libtiff.lib zlib.lib opencv_core345d.lib opencv_features2d345d.lib opencv_flann345d.lib opencv_highgui345d.lib opencv_imgproc345d.lib libpng.lib libtiff.lib zlib.lib IlmImf.lib opencv_superres345d.lib opencv_video345d.lib opencv_videostab345d.lib

另外: - 我有 opencv 3.4.5 版本 - 在 x64 中运行 - 在使用 MINGW32、cygwin 和 Netbeans 多次尝试后,我已经使用 cmake 和 VisualStudio17 构建了库。

IDE 中没有显示错误,但在编译时显示著名的错误“LNK2019 未解析的外部符号”。 我已经尝试了与此主题相关的所有其他帖子的建议,但找不到解决方案。

错误图像

错误 LNK2019 símbolo externo "class cv::Mat __cdecl cv::imread(class cv::String const &,int)" (?imread@cv@@YA?AVMat@1@AEBVString@1@H@Z) sin 解析器al que se hace referencia en la función main Project1 C:\\Users\\Mario I\\source\\repos\\Project1\\Project1\\Main.obj 1

错误 LNK2019 símbolo externo cvCreateCameraCapture sin resolver al que se hace referencia en la función main Project1 C:\\Users\\Mario I\\source\\repos\\Project1\\Project1\\Main.obj 1

错误 LNK2019 símbolo externo cvQueryFrame sin resolver al que se hace referencia en la función main Project1 C:\\Users\\Mario I\\source\\repos\\Project1\\Project1\\Main.obj 1

错误 LNK2019 símbolo externo cvReleaseCapture sin resolver al que se hace referencia en la función main Project1 C:\\Users\\Mario I\\source\\repos\\Project1\\Project1\\Main.obj 1

错误 LNK1120 4 externos sin 解析器 Project1 C:\\Users\\Mario I\\source\\repos\\Project1\\x64\\Debug\\Project1.exe 1

我在 Windows 10、x64 和 Visual Studio 2015 上使用最新的预构建 OpenCV 4.0 库。我使用环境变量设置它:

  1. setx -m OPENCV_DIR D:\\Vision\\opencv\\build\\x64\\vc14
  2. 检查它 - echo %OPENCV_DIR%
  3. 对于 VS2015 Debug, Platform x64,输入以下项目设置:

其他包含路径:$(OPENCV_DIR)....\\include

其他库目录:%OPENCV_DIR%\\lib

附加依赖:opencv_world400d.lib;

  1. 对于 VS 版本

附加依赖:opencv_world400.lib;

小心 Platform 设置为 x64。

另请参阅: https : //docs.opencv.org/3.0-rc1/d3/d52/tutorial_windows_install.html#tutorial_windows_install_path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM