Ubuntu16.04安装opencv3.4.0,错误解决,卸载方法

 

今天在ubuntu16.04上安装opencv3.4.0,用cmake .命令进行编译时,遇到一个错误卡了很久

现在正在等待编译,顺便记录一下opencv的安装过程和遇到的错误

 

一、安装

1、方法一:在python环境下,直接用pip安装即可:

pip install opencv-python

 

2、方法二:自己编译

    1)下载opencv安装包,并解压至指定目录

sudo wget https://github.com/Itseez/opencv/archive/3.4.0.zip
sudo unzip opencv-3.4.0.zip

    2) 安装依赖库

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

    3)cmake

cd opencv-3.4.0
mkdir build
cd build
sudo apt-get install cmake
cmake ../    #在build目录下执行

遇到的第一个错误:

参考其他人的方法,有人在opencv目录下编译,有人在build下编译。

在opencv目录下运行cmake时,报错如下:

CMake Error at CMakeLists.txt:11 (message):
  

  FATAL: In-source builds are not allowed.

         You should create a separate directory for build files.



-- Configuring incomplete, errors occurred!

在build下运行cmake:报错如下:

CMake Error: The source directory "/home/wangxueru/Downloads/opencv-3.4.0/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

解决方法1:

如果之前编译过,重新编译时会报这个错,把cmakecache.txt删了再编译就可

解决方法2:

# 在build下编译
cmake ../  # 编译时路径中需要含有CMakeLists.txt,所以在build中编译,但是设为上层目录
# 其实,我也不知道我是怎么误打误撞通过的。。。。。

当然这个方法也要先删除cmakecache.txt

    4)make

#同样在build目录下
sudo make -j8      
sudo make install -j8    # opencv默认编译到/usr/local,可以通过 make DESTDIR=path install指定安装目录

遇到的第二个bug:

真的大佬们都不怎么出错,我每次配环境都会遇到各种各样奇葩的问题,emmmm....该反思一下了

遇到这个问题的原因是,电脑快没电了,但是我不知道,输完make -j8之后就开开心心欢天喜地蹦蹦跳跳地下楼吃饭

回来之后就傻眼了,电脑关机了,而我根本不知道之前的命令有没有跑完

重新输入make install 或 make时就出现了下面的错误:

CMakeFiles/opencv_perf_imgproc.dir/perf/perf_resize.cpp.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status
modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/build.make:1038: recipe for target 'bin/opencv_perf_imgproc' failed
make[2]: *** [bin/opencv_perf_imgproc] Error 1
CMakeFiles/Makefile2:2290: recipe for target 'modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all' failed
make[1]: *** [modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all] Error 2

百度说,file not recognized: File truncated大意是不能识别文件,因为文件被截断。

解决:

方法一:make clean,重新编译

方法二:ccache -C ,进入Makefile所在目录,清除缓存(apt-get install ccache)

方法三:重新解压、编译。(emmmm...不要犹豫了,菜鸡更适合用这个)

    5) 通过查看opencv版本测试是否安装成功

$ pkg-config --modversion opencv

    6)配置环境

$ sudo vi /etc/ld.so.conf.d/opencv.conf     # 将opencv库添加至系统路径

在文件末尾添加如下命令,保存并退出:

/usr/local/lib 

 在shell中执行如下命令使得刚才的配置路径生效:

sudo ldconfig 

配置bashrc环境 

$ sudo vi /etc/bash.bashrc

在文件末尾添加下面两行命令,保存并退出:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH 

 在shell中执行如下命令使配置生效:

$ source /etc/bash.bashrc 
$ sudo updatedb

    7)运行一个小程序,如果打开了摄像头,并且在左上角有一个hello opencv标志即表示opencv配置成功 :

cd opencv-3.4.0/smaples/cpp/example_cmake
cmake . 
make 
./opencv_example

 

二、卸载

https://blog.csdn.net/weixin_42652125/article/details/81238508

 

写于:19-07-22

 

你可能感兴趣的:(CV)