带有devc ++的opencv中未定义的引用[重复]

Posted

技术标签:

【中文标题】带有devc ++的opencv中未定义的引用[重复]【英文标题】:Undefined reference in opencv with devc++ [duplicate] 【发布时间】:2016-05-27 01:46:19 【问题描述】:

我试图在我的 Windows 系统上安装带有 devc++ 的 opencv。我安装了 opencv,然后在 devc++ 中添加了一个新的编译器。

我在调用新的编译器部分时添加了以下命令

-L"C:\OpenCV\lib" -lcxcore210 -lcv210 -lcvaux210 -lhighgui210 -lml210

我为链接器命令行添加了以下命令

-lcxcore210 -lcv210 -lcvaux210 -lhighgui210 -lml210

我也添加了相应的 opencv 二进制文件、库和包含,并将 opencv/bin 添加到环境变量中。

但是,当我尝试运行以下 opencv 代码时,

#include <iostream>
#include <conio.h>

using namespace std;
#include "cv.h"
#include "highgui.h"
using namespace cv;

int main()

   cv::Mat img;

    getch();


它给出了以下错误。

[链接器错误] C:\Users\user\AppData\Local\Temp\ccGQvgqG.o:filename.cpp:(.text$_ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x3f): 对 `cv::fastFree(void*)' 的未定义引用

【问题讨论】:

2016 年的 OpenCV 2.1.0?这是真的吗?无论如何,您是使用编译器编译 OpenCV 还是尝试使用预构建的 OpenCV 库?另外,这是 C 还是 C++? 我正在尝试使用预建库。这是 Opencv 2.10,因为我无法使 3.0 工作。它给出了同样的问题。 anikettatipamula.blogspot.com/2012/02/… 这个链接使用的是 2.10 版本,所以我认为这将是一个好的开始。 【参考方案1】:

不要使用 OpenCV 2.1.0

使用 OpenCV 2.4.13 或 3+。

正如您在documentation 中看到的那样:

预建库 [...] 仅在您使用最新的 Microsoft Visual Studio IDE 进行编码时才有效。

如果您想使用 Visual C++ 以外的其他编译器,您必须自己构建 OpenCV 库。一个好的开始是tutorial。请小心,因为它们“已经过时且包含不准确的信息”。

【讨论】:

以上是关于带有devc ++的opencv中未定义的引用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

OpenCv3.3安装错误——未定义引用

Opencv '未定义的对 `cv::namedWindow....' 的引用(链接错误)

OpenCV:对 imread() 的未定义引用

带有自定义错误消息的 Django 重定向

OpenCV未定义引用我自己在库中的方法

同一文件中未定义的引用