>ffmpeg4.2.1版本遇到问题:/usr/bin/ld: libavcodec/mqc.o: relocation R_X86_64_32 against .rodata' can not be used when making a shared object; recompile with -fPIC
解决方法:在x264和ffmpeg-4.2.1配置的时候均也添加pic支持(位置无关)
1、x264配置:./configure --enable-shared --prefix=/home/aston/ffmpeg-all/x264-enable-pic --disable-asm --enable-pic
2、ffmpeg-4.2.1配置:./configure --prefix=/home/aston/ffmpeg-all/ffmpeg-4.2.1-install --enable-shared --enable-ffplay --enable-libx264 --enable-gpl --disable-x86asm --extra-cflags="-I/home/aston/ffmpeg-all/x264-enable-pic/include" --extra-ldflags="-L/home/aston/ffmpeg-all/x264-enable-pic/lib" --enable-pic
//--extra-cflags 后面跟引入头文件目录
//--extra-ldflags后面跟引入库目录。(这里用于包含外部x264库地址)
//ffmpeg-3.3.1则不需要
1、ffmpeg安装
1.1 下载ffmpeg
①从ffmpeg官网:http://ffmpeg.org/download.html下载最新的ffmpeg安装包,然后通过如下命令解压:tar jxf ffmpeg-4.2.1.tar.bz2
②用Git从github下载
1.2 支持
1、yasm:可以视为一个汇编编译器,负责编译ffmpeg中的汇编代码
1、跳过yasm:在配置时