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

时间:2018-12-30 17:54:45

标签: c++ c opencv libraries lnk2019

我已经尝试了几天到几天才能在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++

-输入链接器:

linker image

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

  • opencv_calib3d345d.lib opencv_core345d.lib opencv_features2d345d.lib opencv_flann345d.lib opencv_highgui345d.lib opencv_imgproc345d.lib libpng.lib libtiff.lib zlib.lib IlmImf.lib libjasper.lib libjpeg-turbo.lib opencv_ml345d.lib opencv_objdetect345d.lib opencv_photo345d.lib opencv_stitching345d.lib opencv_superres345d.lib opencv_video345d.lib opencv_videostab345d.lib

也: -我有opencv 3.4.5版本 -在x64中运行 -经过MINGW32,cygwin和Netbeans的几次尝试,我已经使用cmake和VisualStudio17构建了该库。

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

ERROR Image

  

错误LNK2019 sinmbolo externo“类cv :: Mat __cdecl cv :: imread(class cv :: String const&,int)”(?imread @ cv @@ YA?AVMat @ 1 @ AEBVString @ 1 @ H @ Z)解析程序,可以参考主要的Project1 C:\ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

     

错误LNK2019外部cvCreateCameraCapture解析程序已在主项目1上进行了其他引用。Project1 C:\ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

     

错误LNK2019外部cvQueryFrame错误解析器引用了主项目1的其他代码:C:\ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

     

错误LNK2019外部提示cvReleaseCapture解析程序已在主项目1上进行了其他引用。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

1 个答案:

答案 0 :(得分:0)

我在Windows 10,x64和Visual Studio 2015中使用最新的预构建OpenCV 4.0库。我使用环境var对其进行设置:

  1. setx -m OPENCV_DIR D:\ Vision \ opencv \ build \ x64 \ vc14
  2. 使用-echo%OPENCV_DIR%
  3. 进行检查
  4. 对于VS2015 Debug(平台x64),输入以下项目设置:

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

其他库目录:%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