【问题标题】:many undefined functions in opencv 3.0.0 using visual studio 2013使用 Visual Studio 2013 的 opencv 3.0.0 中的许多未定义函数
【发布时间】:2015-06-06 10:27:43
【问题描述】:

我刚开始学习opencv,但面临很多问题。我已经安装了 opencv 并将其链接到 Visual Studio 2013。

我从视频中复制的第一个程序运行良好,这是

#include <cstdio>
#include <opencv2\opencv.hpp>

void main()
{
std::cout << "OpenCV Version: " << CV_VERSION << std::endl;
}

在此之后我创建了一个新项目并通过导入导出设置选项导入了第一个项目的所有设置,但仅在编译时显示许多错误

#include <opencv/cv.h>
#include <opencv/highhui.h>
using namespace std;
using namespace cv;
int main(void)


{
  Mat img = imread("C:/Users/shivamkumar07/Documents/Visual Studio 2013/Projects/ConsoleApplication2/shape.jpg");
  imshow("inputfile", img);
  img.release();
  waitKey();
  cvDestroyAllWindows();
  return 0;
}

我无法理解为什么会发生这种情况,请帮助我,我是这方面的初学者,opencv 3.0.0 上没有太多可用的教程

提前致谢!!

【问题讨论】:

  • 请#include &lt;opencv2\opencv.hpp&gt; 不是 cv.h 或 highgui.h(它们是已弃用的 c-api 标头)

标签: c++ visual-studio opencv visual-studio-2013 opencv3.0


【解决方案1】:

第一个错误很清楚,编译器找不到你包含的文件“opencv/cv.h”。

尝试将正确的文件夹添加到项目设置中的包含目录中。

【讨论】:

  • @shivam 可以肯定的是,在properties of your projet &gt; Configuration properties &gt; VC++ Directories &gt; Include Directories 中添加了一个额外的行,其中包含包含 opencv/ 文件夹的路径(可能命名为include 或类似的东西)?结果应该是.../path/to/include/,它本身包含一个带有头文件的opencv/。
【解决方案2】:

在经历了很多事情之后,我发现我没有正确地将我的 opencv 与这个新项目相关联。这就是我的新项目中有许多未定义函数的原因。

使用“属性表”的更好方法是,一旦保存了属性表,它就可以在您想要的所有新项目中使用。

创建属性表的步骤

  1. 右键单击 cpp 文件并添加新项目。

  2. 在此处添加属性表。

  3. 通过在 Release 和 Debug 中添加所有目录和 lib 文件,将 opencv 与您的项目链接,并通过为其命名来保存它。

在新项目中复制属性表的步骤

  1. 右键单击并单击添加现有项目。

  2. 在此处选择属性表,现在新项目已与您的 opencv 链接。

谢谢!

【讨论】:

    【解决方案3】:

    显然它在该路径中导入有问题。尝试更改路径设置。希望对您有所帮助。

    【讨论】:

    • 请详细解释解决方案,以便其他人更容易理解
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    相关资源
    最近更新 更多