Кажется, у меня есть ошибка со связующей частью, хотя мой код скомпилирован без ошибок.
Я установил свойство так:
Я также добавил файлы, необходимые в
Linker -> General -> Additional library directories
а также
Linker -> Input -> Additional Dependencies
Это все еще дало мне ошибку после этого.
код:
#include "opencv2/core.hpp"#include "C:/Users/Downloads/opencv_contrib-master/opencv_contrib-master/modules/face/include/opencv2/face.hpp"#include "opencv2/highgui.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/objdetect.hpp"
#include <iostream>
#include <fstream>
#include <sstream>
using namespace cv;
using namespace cv::face;
using namespace std;
(вывод) строка ошибки:
Severity Code Description Project File Line Suppression State
Error LNK1104 cannot open file 'IlmImfd.lib' opencvTry
(вывод), когда я пытаюсь повторить проект с теми же кодами, включая файлы lib:
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: static struct
cv::Ptr<class cv::face::FisherFaceRecognizer> __cdecl
cv::face::FisherFaceRecognizer::create(int,double)" (
create@FisherFaceRecognizer@face@cv@@SA?AU?
$Ptr@VFisherFaceRecognizer@face@cv@@@3@HN@Z) referenced in function main
opencvTry C:\Users\151554F\Documents\Visual Studio 2017\Projects\In
progress\Face recog\opencvTry\try.obj 1
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: int __cdecl
cv::face::FaceRecognizer::predict(class cv::_InputArray const &)const " (?
predict@FaceRecognizer@face@cv@@QEBAHAEBV_InputArray@3@@Z) referenced in
function main opencvTry C:\Users\151554F\Documents\Visual Studio
2017\Projects\In progress\Face recog\opencvTry\try.obj 1
Вы, вероятно, добавили правильные каталоги включения, но забыли связать действительные библиотеки.
Под Configuration Properties
— Linker
— General
— Additional Library Directories
вам нужно добавить следующее:
$(OPENCV_DIR)\staticlib;
С OPENCV_DIR
указывая на вашу папку сборки.
Например: E:\opencv\build\x86\vc12
,
После того, как вы это сделали, вам также необходимо добавить строки ниже здесь Common Properties
— Linker
— Input
— Additional Dependencies
IlmImfd.lib
libjasperd.lib
libpngd.lib
libjpegd.lib
libtiffd.lib
libwebpd.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_hal300d.lib
opencv_highgui300d.lib
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_ts300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
zlibd.lib
ippicvmt.lib
comctl32.lib
vfw32.lib
Вам нужно только добавить те, которые вам нужны, но нет никаких отрицательных сторон при добавлении их всех. Тогда вы уверены, что ничего не забыли.
Других решений пока нет …