> ## Content Index
> Fetch the complete content index at: https://yinguobing.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 手动缓存IPPICV
- URL: https://yinguobing.com/blog/cache-ippicv-manually/
- Published: 2020-06-11T11:09:23.000Z
- Updated: 2020-07-02T07:01:20.000Z
- Description: 缓存IPPICV以加速OpenCV编译速度
- Author: 尹国冰
- Tags: 图像处理, OpenCV

从源代码构建OpenCV时速度极慢，很有可能是卡在了下载IPPICV这一步。如何找到正确的下载地址可以参考这篇文章：

[手动安装OpenCV下的IPPICV加速库网络状况不佳的情况下手动安装IPPICV加速库。![](https://yinguobing.com/blog/favicon.png)尹国冰的博客Yin Guobing![](https://yinguobing.com/blog/content/images/2017/05/opencv-cover-image.png)](https://yinguobing.com/blog/install-ippicv-manually/)

这篇文章将介如何正确使用下载下来的安装文件，一共分三步。

### 找到日志文件

使用CMake构建OpenCV时，与编译相关的信息都保存在日志文件中。其中涉及到下载文件的日志保存在构建目录下，例如我的当前目录为：

```shell
/Users/Robin/Downloads/opencv/build/
```

在该目录下可以找到下载日志文件\` CMakeDownloadLog.txt\`。

### 获取下载地址

打开该目录，可以看到与IPPICV相关的下载日志：

```
#use_cache "/Users/Robin/Downloads/opencv/.cache"
#do_unpack "ippicv_2020_mac_intel64_20191018_general.tgz" "1c3d675c2a2395d094d523024896e01b" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz" "/Users/Robin/Downloads/opencv/build/3rdparty/ippicv"
#cmake_download "/Users/Robin/Downloads/opencv/.cache/ippicv/1c3d675c2a2395d094d523024896e01b-ippicv_2020_mac_intel64_20191018_general.tgz" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz"
#try 1

```

从日志可以看出，要下载的文件为：

```shell
https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz
```

然后就可以使用你熟悉的下载工具来完成下载。

### 手动缓存文件

日志文件中还透漏了一个重要的信息，即下载文件的缓存目录。在[手动安装IPPICV](https://www.yinguobing.com/install-ippicv-manually?ref=yinguobing.com)这篇文章中我没有介绍文件下载后该如何安装。今天制作OpenCV编译视频时才发现这篇写于2017年的文章被大量抄袭且没有注明来源。更加糟糕的是，抄袭者通过手动修改CMake文件的方式来指定IPPICV包的安装位置。

我个人不赞成这种做法。在使用第三方开源代码时，除非有足够令人信服的理由，才可以对源代码做出修改。为了“指定下载文件”这件小事儿做出“修改源码”这种高风险的行为，是不值得提倡的。正确的做法是：利用OpenCV现有的缓存规则。

在日志中可以明确的找到本地缓存目录。例如我的日志中显示缓存文件为：

```
/Users/Robin/Downloads/opencv/.cache/ippicv/1c3d675c2a2395d094d523024896e01b-ippicv_2020_mac_intel64_20191018_general.tgz
```

在下载完成后，直接手动将压缩包放置到该位置即可。这样OpenCV在构建时会自动识别并正确加载。

Enjoy\~