卸载opencv2.4.12
命令 sudo find / -name "*opencv*" -exec rm -rf {} \;
然后开始安装opencv3.1.0
又开始误入歧途安装3.0结果到处报错。
1.首先在官网下载:
http://opencv.org/downloads.html 选择opencv3.1.0 linux
用unzip 后面是文件.zip 解压文件
2.安装需要编译opencv的一些依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3.进入opencv3.1.0文件夹(cd ~/opencv-3.1.0)
执行以下命令:
mkdir build
cd build
4.配置opencv文件
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
执行之后 这个时候会出现错误 Downloading ippicv_linux_20151201.tgz
- ICV: Downloading ippicv_linux_201151201.tgz...CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file): file DOWNLOAD HASH mismatch
这个时候需要自己去下载地址
http://download.csdn.net/download/chu_ying/9432287
上面这个人居然要30分,后来我找到了资源,想要再次上传上去收取5个积分的时候,但是csdn不允许传重复内容,点击反馈也没找到怎么反馈意见,后来就不了了之了
下载完之后去文件夹
3.1的解压后目录/opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b
里面把原来的文件替换一下 然后重新执行
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
提示:/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: 没有那个文件或目录
#include_next <stdlib.h> 错误2
这是由于gcc6已经吧stdlib.h纳入了libstdc++以进行更好的优化,C Library的头文件stdlib.h使用 Include_next,而include_next对gcc系统头文件路径很敏感。
推荐的修复方法是不要把include路径作为系统目录,而是使用标准方式包含include 目录
有些办法说是讲系统倒回去到低版本,这貌似不太合理吧
说是在make 增加-DENABLE_PRECOMPILED_HEADERS=OFF 不过由于我手误吧这个增加在了cmake中,结果第二次make也没有报错
之后就不会有错误了
下一步 sudo make
sudo make install
这样opencv3.1.0 就安装成功了
查看版本
lipengchao@lipengchao-PC:~/Downloads/opencv-3.1.0/build$ pkg-config --modversion opencv
3.1.0