Ubuntu14.04 64位系统下安装python3.4对应的opencv3.0报错recompile with -fPIC 的解决办法

在已安装ffmpeg的Ubuntu14.04 64位系统中,安装python3.4对应的opencv3.0时出现链接错误。解决方法包括卸载ffmpeg,重新安装依赖,使用指定参数编译opencv3.0,并确保执行`sudo make install`。
摘要由CSDN通过智能技术生成

之前的Ubuntu14.04 64位系统下安装了ffmpeg,后来由于需要使用安装在python3.4环境下可以使用的python视觉库opencv3.0,下面是安装过程中遇到的一些问题。

首先。

1、对于windows7 64位下安装opencv3.0可以参考本人的这篇文章:Windows7 64位+python3.4环境下安装opencv3.0的方法

2、对于Ubuntu 14.04 64位环境下安装opencv3.0可以参考这篇文章:Ubuntu14.04 64位+Python3.4环境下安装opencv3.0的方法

这里之所以再次提出为什么要在Ubuntu环境下安装opencv3.0呢?似乎看上去与“2”重复了啊,其实不是,由于各种实际项目开发问题,往往我们在安装opencv3.0的时候,环境已经不是如“2”中所说的纯净环境了,比如已经安装了ffmpeg,这时候会报如下错误:

[ 38%] Building CXX objectmodules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o

Linking CXX shared library../../lib/libopencv_videoio.so

/usr/bin/ld: cannot find -lavcodec

/usr/bin/ld:/usr/local/lib/libavutil.a(log.o): relocation R_X86_64_32 against`.rodata.str1.1' can not be used when making a shared object; recompile with-fPIC

/usr/local/lib/libavutil.a: error addingsymbols: Bad value

collect2: error: ld returned 1 exit status

make[2]: ***[lib/libopencv_videoio.so.3.0.0] Error 1

make[1]: ***[modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2

make: *** [all] Error 2


因此,我们的目的就是如何在环境中已经安装ffmpeg的基础上能够成功安装opencv3.0。

我的解决过程如下:

步骤1:由于我的环境中ffmpeg是通过下载源码后自己编译生成,因此先进入到ffmpeg的目录,然后执行如下命令来卸载ffmpeg

sudo make uninstall

步骤2:执行如下脚本

[plain]  view plain   copy
  在CODE上查看代码片 派生到我的代码片
  1. #!/bin/bash  
  2. sudo apt-get update  
  3. sudo apt-get install python3-setuptools python3-dev -y  
  4. sudo easy_install3 pip  
  5. pip3 install numpy  
  6.   
  7. sudo apt-get install build-essential -y  
  8. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y  
  9.   
  10. cd ~  
  11. wget https://github.com/Itseez/opencv/archive/3.0.0.zip  
  12. #注意这里不是 cd 3.0.0  , 而是 cd opencv-3.0.0  
  13. unzip 3.0.0.zip && cd opencv-3.0.0  
  14. mkdir build && cd build  
  15.   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值