从 MinGW 链接到 OpenCV 的问题

Posted

技术标签:

【中文标题】从 MinGW 链接到 OpenCV 的问题【英文标题】:Problems linking to OpenCV from MinGW 【发布时间】:2014-06-07 06:43:18 【问题描述】:

我想开始一个使用 OpenCV 的小项目。我的目标是一台 Windows 7 机器,所以我正在尝试使用 MinGW 生成本机 Windows 二进制文件。在我的 Fedora 19 安装中,简单的源代码可以编译并与 gcc 一起正常工作。但是,在 Windows 下,这是我的问题。

我尝试从命令行调用 g++,尝试了一个简单的 makefile,最后绑定了 this 教程。问题出在一只蚂蚁身上。

我相信这些都是 Visual Studio 版本。教程中的那个人有一个 mingw 文件夹来代替 vc12 文件夹。在这些文件夹中有opencv_imgproc249d.lib 之类的库,但是当我链接它们时,没有解析任何符号,一切都是“未定义的引用”。

出于多种原因,我不想使用 Visul Studio。但是,我绝对不想自己构建库,因为我知道隐藏在下面的依赖地狱。

任何提示如何解决这个问题?我的目标是能够使用 gnu makefile 链接到易于下载的 opencv 构建。

【问题讨论】:

【参考方案1】:

“我的目标是能够使用 gnu makefile 链接到易于下载的 opencv 构建”

遗憾的是,没有更多的预构建 mingw 库,不,您不能将 vs 库与 mingw 一起使用, 所以第一步是调用 cmake 并从 src 构建 opencv 库。

“我绝对不想自己建立图书馆”

啊,别太害怕,快试试吧。

与 linux 不同,对于常见的 opencv,windows 没有进一步的依赖关系。 (当然,你需要 java 和 ant 来构建 java 包装器,python - 如果你想要的话,等等。)

【讨论】:

非常感谢。接受并投票赞成直接且非常快速的答案。我记得在 Linux 上安装了几十个工具,然后构建了 ffmpeg,然后构建了配置错误的 OpenCV,然后......整整 2 天后它工作了。 仍然,不得不手动构建 opencv(千兆字节!?)是荒谬的。我只是花了一整天的时间,到目前为止都是徒劳的:win7、opencv 2.3.1、2.4.10 或 2.4.9 等等,无论他们无法构建。拥有二进制文件可以让人们使用 opencv,而不是浪费时间尝试构建它(在 linux 上你只需 apt-get 它们,句号)。

以上是关于从 MinGW 链接到 OpenCV 的问题的主要内容,如果未能解决你的问题,请参考以下文章

Win7下 OpenCV+Qt开发环境搭建

链接 QtCreator && OpenCv

VTK+OpenCV+QT+Mingw编译记录

opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录

opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录

MinGW C++ 编译器在系统路径中找不到 OpenCV