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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM