将opencv库添加到Windows窗体应用程序时链接器错误

时间:2014-12-18 18:03:54

标签: visual-studio-2010 opencv visual-c++

我正在尝试通过GUI或Windows窗体应用程序获取的图像进行opencv操作。

因此,我将所有opencv库添加到应用程序中。它运行得非常好,不包括opencv库,但是当我包含它时不是这样。

当我按如下方式包含opencv库( #include“opencv \ cv.h”)时,

//MyForm.h
#pragma once
#include"opencv\cv.h"
namespace Project3 {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;

..... }

然后编译器抛出更多错误,并将所有错误表示为未解析的外部。

 Error  14  error LNK1120: 12 unresolved externals  

如果我将opencv库添加到GUI的方式不兼容,请建议一些替代

2 个答案:

答案 0 :(得分:2)

不幸的是

#include"opencv\cv.h"

实际上并不是包含OpenCV头文件的正确方法。如果你看一些教程(Here is one for Image Processing),它表明你只需要包含你需要的头文件。

因此,对于您的特定实例,您最终将使用图像处理代码,我建议您编辑代码:

//MyForm.h
#pragma once
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
namespace Project3 {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;

..... }

答案 1 :(得分:0)

我找到了另一个解决方案。问题是标题

#include<opencv\cv.h>

我没有将库 opencv_objdetect248.lib 添加到链接器,我不希望这是必需的。当然,我已经在链接器中添加了其他库,但不是这个。这就是为什么会出现大约12个错误的原因。添加后,构建成功。