opencv 编译经历记载(C++, mysys2,CLion, CMake, mingw build)

起因:
做某项目需要在windows上使用opencv C++ 版,想到用Clion调试debug自己的程序,但发现CLion用的是mingw (GCC编译器和GNU Binutils移植到Win32平台下的产物)。
情况即是:下载了opencv网站原址上编译好的版本(4.8.0),在CMakeLists.txt 中加了
set(OpenCV_DIR 目标路径)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
rmdir /s /q build
cmake -S . -B build
cmake --build build --config Release
.\build\Release\main.exe
可以在windows终端调用以下程序生成可执行文件,且文件运行正常。但是,在clion中调试和run都报错。

看了网上解释,说是clion需要通过mingw编译opencv才能用啊,所以就自己编译一下。遇到的几个坎坎坷坷在以下

问题1:msys64/mingw64/bin 文件夹下为空

原因是没有使用 -S命令安装需要的包

windows搜索框打开寻找mysys2, 进入那个命令行,输入一下代码

pacman -S base-devel
pacman -S mingw-w64-x86_64-toolchain

或者网上自行搜索怎么安装mingw。下载之后就有了!

为什么会需要mingw/bin这个文件夹是因为,一会儿cmake需要使用gcc.exe 和g++.exe 去编译

问题2:CMake 遇到的问题

1. 记得在source文件夹中打开terminal然后去找你的cmake gui(或者使用命令我不懂,我就直接打开Cmakegui搞的)
2. 选择CMake

记得新建一个mingw-build文件夹用来存放build好的文件

source就选择当前所在文件夹

点击configure选择选择MinGW Makefiles

然后选择Specify Native Compilers, 把C和C++的编译器选为刚才提到的,msys64/mingw64/bin下的gcc.exe 和g++.exe。然后就开始编译

参考:OpenCV使用CMake和MinGW-w64的编译安装 | HuiHut

 3. configure勾选项

注意我是4.8.0版本,有遇到如下报错,原因和解决方式都写在下面这个opencv Github 链接里了,翻译成用cmakegui就是, with_obsensor不要勾选,(我还勾选了with_opengl,可能关系不大但是第一个确实有关系):

Build with Ninja (MSYS2 UCRT64) on Windows 11 fails · Issue #23070 · opencv/opencv · GitHub

4. mingw 编译加速

使用多线程方式比单线程快好多,如下:

进入mingw-build 文件夹,

mingw32-make -j 8

八个线程吧可能意思是。

然后等一会儿编译成功了 再

mingw32-make install

终于。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CMake是一个跨平台的开源工具,用于管理和自动生成项目的构建脚本。而MinGW是一个Windows上的GNU工具集,提供了一系列开源的工具、库以及二进制文件,可用于开发Windows应用程序。OpenCV是一个开源的计算机视觉库,可用于处理图像和视频等视觉任务。 使用CMake配置MinGW编译环境和OpenCV库的步骤如下: 1. 安装CMakeMinGW:首先确保在计算机上安装了CMakeMinGWCMake可以通过官方网站下载,而MinGW可以通过其官网下载安装。 2. 下载OpenCV源代码:从OpenCV官方网站下载最新的源代码。 3. 打开CMake GUI:打开CMake GUI界面,选择下载的OpenCV源代码目录作为源代码路径,创建一个新的构建目录(例如build),指定构建目录作为生成的文件路径。 4. 配置构建:点击“Configure”按钮,选择MinGW Makefiles作为生成器,并在弹出的对话框中选择MinGW的安装路径。 5. 设置OpenCV选项:在配置完成后,可以设置OpenCV的一些选项,例如构建Java支持、构建Python支持等。 6. 点击“Generate”按钮:点击“Generate”按钮生成构建脚本。 7. 构建项目:在命令行或使用MinGW提供的终端工具进入构建目录,运行命令`mingw32-make` 开始构建OpenCV项目。 8. 完成编译编译完成后,在生成的文件路径中将得到可执行文件、静态库和动态库等。 通过以上步骤,你就可以使用CMakeMinGW成功配置和编译OpenCV库了。在具体的项目中,你可以使用OpenCV提供的各种函数和功能进行图像和视频处理,将其应用于计算机视觉任务中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值