LNK2019: неразрешенный внешний символ в OpenCV - PullRequest
0 голосов
/ 30 декабря 2018

Я несколько дней пытался настроить библиотеку opencv в Windows 10, и это был настоящий кошмар!

Это мой код:

#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:

  • In C / C ++

C/C++

-In Linker:

linker image

В компоновщик / ввод я добавил следующие библиотеки:

  • opencv_calib3d345d.lib opencv_core345d.lib opencv_features2d345d.lib opencv_flann345d.lib opencv_highlib.blibti453zlib.lib IlmImf.lib libjasper.lib libjpeg-turbo.lib opencv_ml345d.lib opencv_objdetect345d.lib opencv_photo345d.lib opencv_stitching345d.lib opencv_suitres345d.lib * openres345d.Lib3Версия 3.4.5 - работает в x64 - я собрал библиотеку с помощью cmake и VisualStudio17, после нескольких попыток с MINGW32, cygwin и Netbeans.

    В IDE не отображается ошибка, но при компиляции shows известная ошибка "LNK2019 неразрешенный внешний символ".Я пытался с рекомендациями всех других сообщений по этой теме, но не смог найти решение.

    ERROR Image

    Ошибка LNK2019 símbolo externo "classcv :: Mat __cdecl cv :: imread (класс cv :: String const &, int) "(? imread @ cv @@ YA? AVMat @ 1 @ AEBVString @ 1 @ H @ Z) распознаватель грехов al que se hace referencia rula mainció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 Ссылки на ссылки en laосновные функции Project1 C: \ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

    Ошибка LNK2019 símbolo externo cvQueryFrame sin decolver al que se hace referencia en la funciónmain Project1 C: \ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

    Ошибка LNK2019 símbolo externo cvReleaseCapture для разрешения конфликтов в порядке ссылок и функций mainProject1 C: \ Users \ Mario I \ source \ repos \ Project1 \ Project1 \ Main.obj 1

    Ошибка LNK1120 4 externos sin resolver Project1 C: \ Users \ Mario I \ source \ repos \ Project1 \ x64 \ Debug \ Project1.exe 1

1 Ответ

0 голосов
/ 31 декабря 2018

Я использую последние предварительно собранные библиотеки OpenCV 4.0 с Windows 10, x64 и Visual Studio 2015. Я установил его с помощью среды var:

  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;

для VS Release

Дополнительные зависимости: opencv_world400.lib;

Будьте осторожны, чтобы установить платформу x64.

Такжесм .: https://docs.opencv.org/3.0-rc1/d3/d52/tutorial_windows_install.html#tutorial_windows_install_path

...