需要帮助我的脸部识别

时间:2011-08-04 05:21:39

标签: c++ opencv

我的脸部识别程序需要帮助。 我在构建程序时遇到了这些错误:

error LNK2019: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::setSVMDetector(class std::vector<float,class std::allocator<float> > const &)" (?setSVMDetector@HOGDescriptor@cv@@UAEXABV?$vector@MV?$allocator@M@std@@@std@@@Z) referenced in function "int __cdecl ppledetect(void)" (?ppledetect@@YAHXZ)    

error LNK2001: unresolved external symbol "public: virtual void __thiscall cv::HOGDescriptor::write(class cv::FileStorage &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?write@HOGDescriptor@cv@@UBEXAAVFileStorage@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

error LNK1120: 11 unresolved externals

我遇到了11种这类错误。 3错误LNK2019,错误LNK2001错误8,错误LNK1120错误1。 为什么会这样?

4 个答案:

答案 0 :(得分:3)

HOGDescriptor位于opencv_objdetect。

答案 1 :(得分:1)

这通常意味着您缺少链接器依赖项(lib文件)

搜索显示您需要在调试中添加的这些文件:

opencv_core220d.lib
opencv_highgui220d.lib
opencv_video220d.lib
opencv_ml220d.lib
opencv_legacy220d.lib
opencv_imgproc220d.lib

如果您使用的是Visual Studio,则可以访问:

项目属性 - &gt; 配置属性 - &gt; 链接器 - &gt; 一般

从那里,设置“附加库目录”。您可以在此处输入lib文件所在的根目录。例如:C:\program files\opencv22\lib\

然后您需要转到项目属性 - &gt; 配置属性 - &gt; 链接器 - &gt; 输入

在Additional Dependencies下,您需要在那里添加这些lib文件。

答案 2 :(得分:0)

错误意味着OpenCV未正确链接。请务必按照http://opencv.willowgarage.com/wiki/VisualC%2B%2B上的说明进行操作。

答案 3 :(得分:0)

我得到了同样的错误,我通过以前的答案解决了。

如果您正在使用Visual Studio:转到项目属性 - &gt;配置属性 - &gt;链接器 - &gt;输入 - &gt;其他依赖项并进行编辑。 你需要添加&#34; opencv_objdetect249d.lib&#34; (我使用的是opencv 2.4.9,但你的文件名可能不同,249可以更改。查看你的.. \ opencv \ build \ x64 \ vc10 \ lib目录并写下你的文件名:opencv_objdetect ??? d的.lib)