带有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中未定义的引用[重复]的主要内容,如果未能解决你的问题,请参考以下文章