c++ - 键入对 `cv::fastFree(void*)' 的 undefined reference

标签 c++ opencv eclipse-cdt

我在 Win8、最新的 MinGW 和 Eclipse Kepler R1、CDT 上开始了 opencv 2.4.7 的教程。 C++ 编译器包含引用 [path-to-opencv]\open247\build\include。

在 MinGW C++ 链接器中,我添加了库路径 [path-to-opencv]\open247\build\x64\vc11\lib。 vc11 目录包含我读过的 VisualStudio 库。用 MinGW 编译它们还可以吗?

我为这个示例添加了核心和 highgui 库(我认为我们需要的不只是那些)。

但是,对于下面这个简单的空闲代码,我引发了以下编译错误。

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
using namespace std;

int main(){
    Mat image;
}

编译错误是:

Description Resource    Path    Location    Type
undefined reference to `cv::fastFree(void*)'    FirstOpenCV     line 278, external location: C:\Users\John\Documents\Software\opencv247\build\include\opencv2\core\mat.hpp  C/C++ Problem

这是什么原因?

如果我添加

namedWindow("testWindow", 1);

我什至遇到这个错误

Description Resource    Path    Location    Type
undefined reference to `cv::namedWindow(std::string const&, int)'   main.cpp    /FirstOpenCV/src    line 23 C/C++ Problem

最佳答案

您是否正确链接了您的库?

-lopencv_core
-lopencv_highgui
-L<opencv_library_path>

必须在编译器/链接器命令行上的源文件之后指定库。 (链接器跟踪未解析的符号,并通过稍后的命令行参数解析它们。)

关于c++ - 键入对 `cv::fastFree(void*)' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20483476/

相关文章:

c++ - 如果表面被锁定,访问 SDL_Surface 的俯仰数据成员是否安全?

c++ - 有人可以用结构解释这段代码吗? (尝试学习 Winsock 2)

python-3.x - 我怎样才能从二进制图像中分离出细胞

c++ - 从这里实例化错误

c++ - Eclipse 无法解析用宏声明的字段

c++ - 如何在 C++ 中将文本文件读入二维动态 vector ?

c++ - 字符数组复制错误

c++ - 如何为 delete 编写一个 C 包装器,它可以快速释放任何给它的类型而不告诉它是什么类型

image - 如何根据我的预测获得 ROI 坐标?

Java 死锁与 Eclipse CDT headless 构建