在CentOS下编译VLC源码

VLC官网:https://www.videolan.org/

VLC Github:https://github.com/videolan/vlc

测试环境:CentOS 7.3.1611 64位系统

一、下载VLC源码

下载地址:http://download.videolan.org/pub/videolan/vlc/2.2.4/vlc-2.2.4.tar.xz

二、VLC编译与安装

1、编译与安装

解压VLC压缩包,注意J为大写

tar -xvJf vlc-2.2.4.tar.xz

进入VLC源码目录

cd vlc-2.2.4

进行配置,先执行

./bootstrap

再执行

./configure

在执行此命令过程中,会报错特别多。参考第三章,进行解决之后继续。./configure执行成功,效果如下:

libvlc configuration
--------------------
version               : 2.2.4
system                : linux
architecture          : x86_64 mmx sse sse2
optimizations         : yes
vlc aliases           : cvlc rvlc nvlc

To build vlc and its plugins, type `make', or `./compile' if you like nice colors.

编译

make

安装

sudo make install

编译安装后,即可在/usr/local/lib和/usr/local/include看到库和头文件。

2、库文件

VLC库文件位于/usr/local/lib。

我们程序调用VLC库运行时,依赖的so有libvlc.so、libvlc.so.5、libvlc.so.5.5.0、libvlccore.so、libvlccore.so.8、libvlccore.so.8.0.0共6个,如下:

在这里插入图片描述

另外,还依赖于/usr/local/lib/vlc/plugins目录下的插件。

建议打包时,直接拷贝plugins目录,并按/usr/local/lib下的相对目录结构组织,即vlc目录与so同一级,plugins目录放在vlc目录下。

3、头文件

VLC头文件位于/usr/local/include。

在这里插入图片描述

三、报错解决

1、configure: error: Could not find lua. Lua is needed for some interfaces

原因:找不到lua相关的包

解决办法:安装lua-devel,yum install lua-devel

2、configure: error: Could not find libmad on your system

原因:缺少libmad包

解决办法:安装libmad,步骤如下。

下载libmad,wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz

解压,tar -xzvf libmad-0.15.1b.tar.gz

进入目录,cd libmad-0.15.1b

配置,./configure

编译,make

报错:gcc: error: unrecognized command line option ‘-fforce-mem’
解决:打开源码目录下的Makefile文件,找到关键的一行(应该是129),

CFLAGS = -Wall -g -O -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2

将-fforce-mem删除即可,重新make。
安装,make install

3、configure: error: No package ‘libavcodec’ found

原因:缺少libavcodec包

解决办法:安装ysam、ffmpeg,步骤如下。

下载ysamwget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
解压,tar zxvf yasm-1.3.0.tar.gz
进入目录,cd yasm-1.3.0
配置,./configure
编译,make
安装,make install

下载ffmpegwget http://ffmpeg.mplayerhq.hu/releases/ffmpeg-1.2.tar.gz
解压,tar zxvf ffmpeg-1.2.tar.gz
进入目录,cd ffmpeg-1.2
配置生成动态库,CFLAGS=-fPIC ./configure --enable-shared --enable-gpl --enable-nonfree
编译,make
安装,make install

添加环境变量
打开文件,gedit ~/.bashrc
文件末尾添加:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
保存,关闭文件,使生效,source ~/.bashrc

4、configure: error: Could not find liba52 on your system

原因:缺少liba52包

解决办法:安装liba52,步骤如下。

下载liba52,wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
解压,tar zxvf a52dec-0.7.4.tar.gz
进入目录,cd a52dec-0.7.4
配置生成动态库,CFLAGS=-fPIC ./configure --enable-shared
编译,make
安装,make install

5、configure: error: No package ‘alsa’ found

原因:缺少alsa包

解决办法:安装alsa,yum install alsa-lib-devel.x86_64

6、configure: error: libgcrypt version 1.1.94 or higher not found

原因:缺少libgcrypt包

解决办法:安装libgcrypt,yum install libgcrypt-devel.x86_64



若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百里杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值