zoukankan      html  css  js  c++  java
  • Makefile:160: recipe for target 'all' failed (Ubuntu 16.06 + Opencv3.2)解决办法

    前言

    之前一直用的opencv 好好的,今天安装了anaconda之后,python中的opencv不能用了,即便是拷贝cv2.so之后也是不能用,问题如下:

    这里写图片描述

    根本原因

    安装anaconda之后,很多默认的编译器都变成了anaconda自带的了,比如python和gcc等。那么系统中的python安装的东西自然是用不了的,刚开始没发现这个问题,一怒之下就把opencv给卸载了,当发现这个问题的时候,已经悔之晚矣,无奈重新安装。

    注:opencv编译失败之后,其前面肯定有失败报错的地方,也就是解决问题和核心了,如上图中最后报错“Makefile:160: recipe for target ‘all’ failed”无法锁定问题在那儿,往上翻番看就能发现问题的原因,在继续解决就行了。

    解决方案

    通过一股查找之后,在博主( 
    https://stackoverflow.com/questions/40322301/compile-opencv-3-on-ubuntu-16-04-linking-error-usr-lib-x86-64-linux-gnu-libsox)中找到答案。

    两种方式:

    第一种方法:

    增加  -D WITH_OPENMP=ON

    第二种方法

    从系统变量中删除Anaconda路径
    sudo gedit ~/.bashrc

    注释掉如下两行

    #export PATH="/home/lab/SOFT_APP/Anaconda2/bin:$PATH"
    #export PATH="/home/lab/SOFT_APP/Anaconda2/bin:$PATH"

    立即生效:

    source ~/.bashrc

    此时在编译即可。

    Anaconda该怎么使用

    有些同学可能会问删除了Anaconda的环境变量之后怎么用,其实直接在Anaconda的目录下就可以使用:

    bin/conda info -e
    source bin/activate tf_v0.12.0rc0
    source bin/deactivate 

    同样可以使用


    另:

    添加cmake参数:

    -DENABLE_PRECOMPILED_HEADERS=OFF
    -DBUILD_TESTS=OFF

  • 相关阅读:
    定时器应用-最终版
    定时器应用-点击按钮,div向右移动
    通过js读取元素的样式
    延时调用
    定时器应用-切换图片的练习
    BOM对象属性定时器的调用
    BOM浏览器对象模型
    键盘移动
    Python-字符串方法
    Python实现注册和登录
  • 原文地址:https://www.cnblogs.com/sddai/p/10232515.html
Copyright © 2011-2022 走看看