WIN11+OPENCV4.8 编译及下载失败处理方法

1. 基础准备

1. 下载Opencv和Contrib库

    Opencv:Releases · opencv/opencv · GitHub

    Contrib:Tags · opencv/opencv_contrib · GitHub

2. 安装Visual Studio 或 MinGW64

MinGW:Tags · opencv/opencv_contrib · GitHub 

这里安装1.12.0 MinGW 。 以及VC16,VC17

3. 安装CMake

 Download CMake

这里安装 3.27

2. Cmake配置

1. 这里安装了visual studio 2022,通过-T 指定v142使用vc16(vs2019)编译器编译。

2. 点击config 

接着添加contrib模块,编译NonFree模块,设置安装路径,接着点config。让所有红色Item消失。

3. 下载三方库

config过程需要下载额外的三方库,如果一直下载失败则需要一些科技。

1. 请自行准备可以访问外部资源的方式,通过设置环境变量,让Cmake使用代-理。

2. 通过一下网站查询 “raw.githubusercontent.com” 的IP地址。Website Overview: Daily Visitors, Safety Status, Traffic Rank, Competitor Analysis (ipaddress.com)

在Host文件中加入IP映射: C:\Windows\System32\drivers\etc\hosts

185.199.108.133 raw.githubusercontent.com

3. 点击config,所有三方库会正常下载。

4. 接着点击generator生成工程

3. 编译工程

1. 打开工程,点击生成->批生成。勾选release和debug版本的 INSALL目标;然后点击生成。

2. 当所有项目正常生成后,安装目录里会存放编译好的opencv库。

*QA:

1. 使用MINGW编译出现 "too many sections,file too big“ 错误。
  A:修改opencv源代码文件夹中的CMakeLists.txt文件,添加如下代码:

if(MINGW)
  # Work around 'too many sections' error with MINGW/GCC
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wa,-mbig-obj")
endif()

原因是obj文件是COFF(Common Object File Format)格式,而COFF文件的header里有两位是表示number of sections的,不能超过32766

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

blanklog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值