【问题标题】:OpenCV: 32-bit libs & dlls for Visual Studio projectOpenCV:用于 Visual Studio 项目的 32 位库和 dll
【发布时间】:2020-10-07 00:45:22
【问题描述】:

我正在将使用 OpenCV 2.4 的 C++ Visual Studio 项目升级到更新版本的 OpenCV(例如 4.1.2 或 4.4.0)。我的项目需要 32 位和 64 位版本,因此我需要 OpenCV 库和 dll 的 32 位和 64 位版本。

但最近为 Windows 预构建的可下载 OpenCV 版本仅包含用于 x64 的库和 dll。我确实在这里找到了 32 位和 64 位预编译的二进制文件 (https://github.com/huihut/OpenCV-MinGW-Build),但它们是用 MinGW 构建的,没有我需要链接的 VS 兼容库。

我可以尝试构建自己的 32 位版本的 OpenCV 库,但乍一看,这似乎需要付出很多努力。 OpenCV 使用 CMake 和其他我不熟悉的工具。

所以我的问题是:谁能指出我最新版本的 OpenCV 的 32 位版本,该版本具有使用 Visual Studio 构建的库?或者如果没有,任何人都可以确认他们已经使用 Visual Studio 构建了 32 位 OpenCV?如果这是我唯一的选择,我会走这条路,但我想提前知道这是否困难(例如,也许 OpenCV 本身具有 32 位不可用的依赖项?)。

任何帮助表示赞赏!

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

    我自己构建了 OpenCV,结果证明并不难。 我遵循了指南herehere。 我将把我自己的详细步骤放在下面,它可能对其他人有所帮助。

    我正在使用 Visual Studio Enterprise 2019。我的选择显示在括号中。

    • https://cmake.org/download (CMake 3.18.3) 下载并安装 CMake
    • https://opencv.org/releases下载OpenCV源代码(OpenCv 4.4.0)
    • 解压源码(c:\opencv\src)
    • 运行 CMake
    • 在 CMake UI 中,指定 源代码在哪里 (c:\opencv\src) 和 在哪里构建二进制文件 (c:\opencv\build)
    • 选中GroupedAdvanced复选框
    • 点击配置。如果 CMake 请求创建构建文件夹的权限,请允许它
    • 选择为此项目指定生成器(Visual Studio 16 2019)
    • 选择生成器的可选平台 (Win32)
    • 对于要使用的可选工具集,我将其留空
    • 选择使用默认的本机编译器
    • 点击完成。 CMake 将处理几分钟。

    此时对我来说,有一个很大的红色项目列表,在底部的详细信息区域中,除了一些红色的 Python 错误之外,一切都很好。我不关心 Python 部分,所以:

    • 在上部窗格中,展开 BUILD
    • 取消选中 BUILD_opencv_python_bindings_generator
    • 取消选中 BUILD_opencv_python_tests

    再次单击配置...等待看到“配置完成”消息。所有的红色都消失了。点击Generate并等待看到“Generating done”消息。 查看您的构建文件夹...打开解决方案“OpenCV.sln” 在 Visual Studio 中打开它,构建 Release 或 Debug。

    如果您想构建 x64 版本,请通过执行 File->Delete Cache 重新开始,然后在 Optional platform for generator 步骤中选择 x64。

    【讨论】:

    • 谢谢:我刚刚完成了你的步骤,每一个细节都和你写的完全一样。为那完美无瑕的文章获得当之无愧的 +1。
    猜你喜欢
    • 1970-01-01
    • 2018-11-13
    • 2014-11-05
    • 1970-01-01
    • 2017-08-03
    • 2019-08-18
    • 2010-12-21
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多