【问题标题】:Linker errors when adding opencv library to windows form application将 opencv 库添加到 Windows 窗体应用程序时出现链接器错误
【发布时间】:2014-12-20 01:00:40
【问题描述】:

我正在尝试通过 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 的方式不兼容,请提出一些替代方案

【问题讨论】:

  • 尝试#include #include
  • @GPPK:他们正在工作。我认为,除了 cv.h 之外,所有其他 opencv 包括都在工作。但是需要 cv.h 库来进行图像处理。对吧?
  • 除了上面,请显示你链接的opencv libraries。 (你可能至少需要 opencv_core249.lib,opencv_imgproc249.lib,opencv_highgui249.lib
  • ^^ 这是一个 header 文件(编译),而不是库(链接)错误是关于缺少库,而不是错误的标题。

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


【解决方案1】:

很遗憾

#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;

..... }

【讨论】:

    【解决方案2】:

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

    #include<opencv\cv.h>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多