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

LNK2019: Unresolved External Symbol in OpenCV

几天来我一直在尝试在 Windows10 中配置 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 Studio17配置:

-在链接器中:

在 Linker/Input 中,我添加了以下库:

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

在 IDE 中没有显示错误,但在编译时显示著名的错误 "LNK2019 unresolved external symbol"。我已经尝试了与该主题相关的所有其他帖子的建议,但找不到解决方案。

Error 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 resolver al que se hace referencia en la función main Project1 C:\Users\Mario I\source\repos\Project1\Project1\Main.obj 1

Error 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

Error 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

Error 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

Error LNK1120 4 externos sin resolver 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. 检查
  4. 对于 VS2015 调试,平台 x64,输入以下项目设置:

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

其他库目录:%OPENCV_DIR%\lib

附加依赖项:opencv_world400d.lib;

  1. VS 版本

附加依赖项:opencv_world400.lib;

注意平台设置为x64。

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