从 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 的问题的主要内容,如果未能解决你的问题,请参考以下文章
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录