Не удается связать OpenCV с неразрешенным внешним символом LNK 2019 - PullRequest
0 голосов
/ 25 марта 2019

Я знаю, что все еще есть некоторые запросы, касающиеся этого топика, но я думаю, что все сделал, там написано. Я только что загрузил OpenCV, но не смог его запустить.

Я сделал следующее:
Добавление переменной среды OPENCV_DIR = .. \ opencv \ build \ x64 \ vc14
Добавление переменной среды Path =% OPENCV_DIR% / bin

Свойства -> C / C ++ -> Общие -> Дополнительные, включая каталоги, для которых установлено ../opencv/build/include

Свойства -> Компоновщик -> Общие -> Добавлены дополнительные директории библиотеки ./opencv/build/x64/vc14/lib

Свойства -> Компоновщик -> Общие -> Добавлены дополнительные каталоги библиотек ../opencv/build/lib/Debug

Свойства -> Линкер -> Ввод -> Добавлены дополнительные зависимости:
opencv_calib3d343d.lib
opencv_core343d.lib
opencv_features2d343d.lib
opencv_flann343d.lib
opencv_highgui343d.lib
opencv_imgcodecs343d.lib
opencv_imgproc343d.lib
opencv_ml343d.lib
opencv_objdetect343d.lib
opencv_photo343d.lib
opencv_shape343d.lib
opencv_stitching343d.lib
opencv_superres343d.lib
opencv_ts343d.lib
opencv_video343d.lib
opencv_videoio343d.lib
opencv_videostab343d.lib
opencv_world343d.lib

Установка CPU Debug на x64

Мой код довольно прост:

#include <iostream>
#include "opencv2/opencv.hpp"

int main() {
    cv::Mat SrcImg = cv::imread("C:\\HomeC\\Screenshots\\SC_01.bmp", -1);

    std::cout << "Application finished. Press ENTER to exit..." <<     std::endl;
    std::cin.ignore();
}

Я получаю следующие ошибки:
LNK2019 unresolved external symbol "int __cdecl cv::_interlockedExchangeAdd(int *,int)" (?_interlockedExchangeAdd@cv@@YAHPEAHH@Z) referenced in function "public: void __cdecl cv::Mat::release(void)" (?release@Mat@cv@@QEAAXXZ)

и
LNK2019 unresolved external symbol "class cv::Mat __cdecl cv::imread(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (?imread@cv@@YA?AVMat@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function main

Итак, вы видите, я прочитал документацию и все еще погуглил все об этой ошибке, касающейся OpenCV.

У кого-нибудь есть другая идея, как ее запустить?

С уважением, Jan

1 Ответ

0 голосов
/ 25 марта 2019

Хорошо, теперь это работает. Я должен был указать папку, содержащую DLL в папке пути тоже. Я также переориентировал проект, так как я также ссылался на OpenCV через NuGet в моем старом проекте.

...