c++ - 构建 32 位库 opencv

标签 c++ qt opencv cmake

我最近使用 cmake 在我的 64 位 Windows 机器上下载并构建了 opencv。所有二进制文件都包含在 install 文件夹中,它只包含如下所示的文件夹:

我不知道如何配置 cmake 来为 x86 生成二进制文件。我问这个,因为我正在使用 Qt Creator 32bit with MinGW 并且在链接和编译代码时遇到问题。构建的正确方法是什么?我正在使用 mingw 编译器套件。

注意:下载的包包含用于 x86 的预构建二进制文件,但没有用于 MinGW 的二进制文件,仅用于 Visual Studio。

最佳答案

mingw 的步骤来自此 guidecmake-gui .我们也可以在命令提示符下使用 cmake-m32 选项轻松完成此操作。但是使用 cmake-gui 会让您更多地了解可用于 opencv 配置的选项,如果您想明天自定义 opencv 构建(例如启用 java wrapper 或 OpenCL 等),让您处于更有利的位置。

  1. 启动 cmake-gui。
  2. source path设置为下载的opencv目录,将build path设置为您选择的图片

    enter image description here

  3. 单击Configure 按钮并将生成器指定为mingw makefiles 图片中

    enter image description here

  4. 如图所示选择编译器(这里我们选择 32 位),然后单击 Finish 按钮。

enter image description here

  1. 将列出一个选项页面。

    5.1。如果需要,请编辑 CMAKE_INSTALL_PREFIX 以更改安装位置。

    5.2。如果尚未选择 ENABLE_CXX11,请选择它。

    5.3。仅当您熟悉其他选项时才更改它们。然后再次点击Configure,然后点击'Generate`生成make文件。

  2. 修改 opencv\sources\modules\videoio\src\cap_dshow.cpp 并在文件顶部添加以下定义:

    #define STRSAFE_NO_DEPRECATE
    
  3. 在命令提示符(在构建路径)中键入 mingw32-make(如果需要,将 mingw32-make 文件夹添加到 PATH)

  4. 完成后,输入mingw32-make install

关于c++ - 构建 32 位库 opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28122457/

相关文章:

c++ - QEventLoop 之前已经调用了 exec() 甚至 exit()

c++ - 带有适用于 iOS 的 libstdc++ 的 OpenCV 2.4.3+?

C++ : storing a 13 digit number always fails

c++ - '*(<type> *) &x' 和 'x' 有什么区别?

c++ - 从成员变量指针返回 bool

c++ - 如何以独立于系统的方式将库添加到项目中?

c# - Visual Studio 版本不可知的项目/解决方案 : is it possible?

c++ - 从另一个 QStringList 中删除一个 QStringList 中包含的字符串

python - 如何使用opencv和多线程在python中捕获视频(logitech c920)

python - OpenCV Python 使用 HoughLinesP() 算法测量距离以确定水位