我使用的是opencv 2.4.2和C ++。我正在尝试用C ++实现flandmarker检测器并遇到了这篇文章Cant get Flandmarks to work, C++, Error LNK2019, Unresolved external symbol。我尝试过这样做,也就是说,我在C / C ++和Linker下添加了附加包含目录,在输入下添加了额外的依赖项并从flandmarker网站下载了这个文件https://codeload.github.com/uricamic/flandmark/zip/master,提取了这些文件并将它们放入我的文件中项目文件夹。我甚至做过@dervish在下面说的话。但我仍然得到以下的错误。此外,如果我在链接器中不包含opencv _ *** 244d.lib文件,我会收到此错误。我在我的电脑上搜索了那些opencv _ *** 244d.lib文件,但找不到任何文件。我真的需要让这个工作。有人可以帮忙吗?
答案 0 :(得分:3)
我最近也使用相同的库来检测面部特征点。
您可以按照以下步骤使其正常工作:
确保添加正确的 OpenCV-Path\build\include
和 OpenCV-Path\build\x86\vc10\lib
(您在项目中添加的所有OpenCV库都应在此处找到)到项目。
对于liblbp.h
文件,请更改
#include "msvc-compat.h"
到
#include <stdint.h>
对于flandmark_detector.h
文件,请更改
#include "msvc-compat.h"
#include <cv.h>
#include <cvaux.h>
到
#include <stdint.h>
#include "opencv2/opencv.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
您可以下载此库here的可用VS10项目。
注意:我还在项目中添加了OpenCV库,以便在没有任何额外设置的情况下运行良好。
运行之后,你应该达到这样的目的:
答案 1 :(得分:-1)
转到文件flandmark_detector.h
,替换
#include <cv.h>
#include <cvaux.h>
通过
#include <opencv/cv.h>
#include <opencv/cvaux.h>
因为这些文件有这条路径:
/opencvDIR/include/opencv