libavcodec.a(hevc_cabac.o):  relocation R_X86_64_PC32 against `ff_w_ff' can not be used when makin with -fPIC

libavcodec属于ffmpeg的库,从ff_w_ff这个标志就可以看的出来

这个原因是因为opencv想要加载动态库但是libavcodec为静态库,因为没有加-fPIC的原因,注意这里不是让你去修改opencv的cmake附加参数,加上-fPIC,这个是不行的,我们需要重新编译ffmpeg的库,给ffmpeg的make加上-fPIC这个参数

git下载:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

git比较慢,可以使用码云:

https://gitee.com/ChinaFFmpeg/ffmpeg

下载好后放到你的ubnutu上

使用unzip命令解压到你的工作目录

unzip ffmpeg.zip

然后cd命令进入ffmpeg目录:

cd ffmpeg

使用如下命令配置生成make

sudo ./configure --enable-nonfree --enable-pic --enable-shared

这里--enable-pic 代表会使用-fPIC

在使用make编译与安装

sudo make && sudo make install

然后在去重新编译你的opencv即可!

Linux编译Opencv3.4.7: relocation R_X86_64_PC32 against `ff_w_ff‘ can not be used when makin with -fPIC相关推荐

  1. opencv3.2教程linux,Linux编译OpenCV3.2.0-OCL模块并使用

    之前老板已经编译好了OpenCV3.2.0 ,但是好像无法使用ocl模块? 所以我想应该是他当初编译的时候没有选择WITH_OPENCL,所以我决定重新编译一遍. 一.下载CMake并安装 1.我下载 ...

  2. Linux编译OpenCV3.2.0-OCL模块并使用

    之前老板已经编译好了OpenCV3.2.0 ,但是好像无法使用ocl模块? 所以我想应该是他当初编译的时候没有选择WITH_OPENCL,所以我决定重新编译一遍. 一.下载CMake并安装 1.我下载 ...

  3. linux下运行yolo,deepin(linux)编译安装yolo v4测试效果

    # 背景 五一放假的最后一天我也凑了个热闹,试一下新鲜出炉的yolo v4, 由于没有装CUDA和CUDNN,只试了一下在CPU上的速度和效果,电脑环境及编译依赖如下: * deepin 15.11桌 ...

  4. 【已解决】ibyaml-cpp.a(memory.cpp.o): relocation R_X86_64_PC32 against symbol `_ZTVSt16_Sp_counted_baseIL

    问题描述 工程文件依赖yaml-cpp,在编译工程文件时显示如下问题 /usr/bin/ld: /usr/local/lib/libyaml-cpp.a(memory.cpp.o): relocati ...

  5. linux编译.o文件,使用-O0编译Linux内核

    文章目录 1. 编译内核 1.1. 修改gcc优化等级 1.2. 防止`modpost: Section mismatches detected.`错误 1.3. 根据需要编译内核 1.4. 修改子目 ...

  6. 全网首发:relocation R_X86_64_PC32 against symbol can not be used when making a shared object recompile

    错误 /usr/bin/ld: /usr/local/lib/libavcodec.a(vc1dsp_mmx.o): relocation R_X86_64_PC32 against symbol ` ...

  7. 初试linux编译(ubuntu+vim)+玩转智能蛇

    一.初试linux编译(ubuntu+vim) 步骤: ①下载vmware15+ubuntu桌面版映像 ②安装ubuntu ③下载vim+gcc 在ubuntu终端输入: sudo apt-get i ...

  8. linux 编译c_含有CGO代码的项目如何实现跨平台编译

    目前小菜刀的项目中需要用到SQLite数据库,https://github.com/mattn/go-sqlite3支持database/sql接口,采用Go的标准接口有利于项目后续扩展,因此选择了该 ...

  9. linux 编译链接过程,编译程序 一:linux程序编译过程(一)-编译和链接

    大家肯定都知道计算机程序设计语言通常分为机器语言.汇编语言和高级语言三类.高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因此我们基本上将高级语言分为两大类 ...

最新文章

  1. 拼装sql_3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过
  2. android 隐藏导航栏 虚拟键
  3. MySQL - 并发事务问题及解决方案
  4. 刷固件Layer1到手机FLASH(硬刷)
  5. android app自动化测试之UIAutomator
  6. php读取配置文件连接mysql数据库,MySQL教程--通过配置文件连接数据库操作详解
  7. wordpress mysql 密码重置_WordPress忘记密码找回登录密码的四种行之有效的方法
  8. CentOS6.5升级内核到3.10.28
  9. Pytorch 报错 Python int too large to convert to C long
  10. 【jdk源码】System.arraycopy()复制
  11. learning的反义词英文_英语反义词大全.
  12. 电子计算机的发展和应用教案,第1课 追寻发展的足迹——计算机的发展与应用...
  13. 程序员如何向领导提涨薪加薪
  14. 前后端分离,vue+springboot导出dbf
  15. 让你大吃一惊的国外广告联盟
  16. 微信扫码充值 php,PHP原生微信扫码支付
  17. UCOSIII操作系统学习笔记——任务
  18. H5兄弟连web前端
  19. Python之路【第十六篇】:Django【基础篇】
  20. iris web框架无法加载静态文件

热门文章

  1. 高斯正反算 java_高斯投影正反算的代码
  2. tcp三次握手后被马上rst_TCP为什么需要三次握手?
  3. centos7 docker端口_使用Docker部署Python应用
  4. python3.7.4安装教程win7_Window10下python3.7 安装与卸载教程图解
  5. html5 list 拖拽排序,vue实现可拖拽排序的列表
  6. linux 5.5 外接usb2.0硬盘,RHEL5 使用pam_usb
  7. textbox内容转为字符串_【公告】整改文章内容
  8. js 控制鼠标_原生js实现改变视频播放速率
  9. html5表单的css修饰,如何使用CSS3美化HTML5表单
  10. ue4蓝图运行顺序_学习UE4,先学蓝图还是c++_资源库