C++ OpenCV未解决的外部符号链接器错误-功能2d

C++ OpenCV未解决的外部符号链接器错误-功能2d,c++,windows,opencv,windows-8,C++,Windows,Opencv,Windows 8,我正在运行以下简单代码来定义简短描述符: #include "cv.h" #include "opencv2\objdetect\objdetect.hpp" #include "opencv2\core\core.hpp" #include "opencv2\highgui\highgui.hpp" #include "opencv2\calib3d\calib3d.hpp" #include "opencv2\nonfree\nonfree.hpp" #include "highgui.h

我正在运行以下简单代码来定义简短描述符:

#include "cv.h" 
#include "opencv2\objdetect\objdetect.hpp"
#include "opencv2\core\core.hpp"
#include "opencv2\highgui\highgui.hpp"
#include "opencv2\calib3d\calib3d.hpp"
#include "opencv2\nonfree\nonfree.hpp"
#include "highgui.h" 
#include "opencv2\features2d\features2d.hpp"
#pragma comment (lib, "opencv_core245d.lib")
#pragma comment (lib, "opencv_highgui245d.lib")
#pragma comment (lib, "opencv_imgproc245d.lib")
#pragma comment (lib, "opencv_video245d.lib")
#pragma comment (lib, "opencv_features2d245d.lib")
using namespace cv;


int main( int argc, char** argv )
{
    BriefDescriptorExtractor Brief(32);


} 

如您所见,我在pragma和项目属性中添加了lib以确保

我收到以下链接器错误:

1>OIM2.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl cv::Algorithm::~Algorithm(void)" (??1Algorithm@cv@@UEAA@XZ) referenced in function "public: void __cdecl cv::BriefDescriptorExtractor::`vbase destructor'(void)" (??_DBriefDescriptorExtractor@cv@@QEAAXXZ)
1>OIM2.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl cv::DescriptorExtractor::~DescriptorExtractor(void)" (??1DescriptorExtractor@cv@@UEAA@XZ) referenced in function "public: virtual __cdecl cv::BriefDescriptorExtractor::~BriefDescriptorExtractor(void)" (??1BriefDescriptorExtractor@cv@@UEAA@XZ)
目前,似乎认为“算法”的虚拟类是不可识别的,也是简短的描述符类

有人能指出如何解决这个问题吗?我真的被踩死了,我真的需要一些帮助

谢谢


Gil.

“我已经在pragma和项目属性中添加了lib以确保其正确性。”-这实际上是个坏主意(因为您失去了对所使用内容的控制)。最好坚持项目属性中的属性。(如果你想在以后进行发布构建,你甚至必须更改所有代码!)@ChrisMaes,我正在使用windows8。谢谢谢谢@berak,我删除了pragma的。我在项目属性中添加了所有必需的库,但它仍然没有编译。你知道怎么修吗?谢谢告诉我们你看到的错误;那些还是原来的吗?你是如何安装opencv的?还是同样的错误。根据本教程,我使用Cmake安装了OpenCV: