libvlc源码编译

#-1   安装编译vlc的必要工具
######VLC须要C11编译器以及开发工具链
######建议使用高于4.9版本的gcc,另外clang/LLVM也是能够的。若是你是从git仓库构建,你还须要gnu构建系统即 autotools(autoconf,automake,libtol,gettext)来设置Makefile.并确保这些工具是最新且可用linux

sudo apt-get install git build-essential pkg-config libtool automake autopoint gettext flex bison


#-2  获取vlc源码
######可使用ftp获取官方发布的正式版本,也可使用git获取。若是使用的git开发版本,首先须要引导源代码树
######若是autotool过期或者丢失 ./bootstrap会失败git

git clone git://git.videolan.org/vlc.git
cd vlc
./bootstrap


######若是你下载的是官方发布版本,提取文件,而后进入源码目录
wget ftp://ftp.videolan.org/pub/videolan/vlc/2.2.4/vlc-2.2.4.tar.xz
tar xvJf vlc-2.2.4.tar.xz
cd vlc-2.2.4
#-3   获取,安装第三方库
######如今能够配置VLC了,可是必须先确保全部的依赖关系都已经安装就绪。
######必须安装并启用所需的全部第三方库。若是未能安装所需的库,则可能致使vlc应用程序出现错误。
######完整的第三方库列表能够从https://wiki.videolan.org/Contrib_Status/获取macos

sudo apt-get -y install libvorbis-dev libogg-dev libtheora-dev speex libspeex-dev flac libflac-dev \
  x264 libx264-dev liba52-0.7.4-dev mpeg2dec libmpeg2-4-dev faad libfaad-dev faac libfaac-dev \
  lame libmp3lame-dev ffmpeg libavdevice-dev libmad0 libmad0-dev  liboil0.3 libschroedinger-dev \
  libdca-dev twolame libtwolame-dev libmpcdec-dev libvorbisidec1 libvorbisidec-dev libass-dev   \
  libebml-dev libmatroska-dev libdvbpsi-dev libmodplug1 libmodplug-dev libshout3 libshout3-dev \
  libdvdread4 libdvdnav4 libdvdnav-dev livemedia-utils liblivemedia-dev libcddb2 libcddb2-dev libcdio-dev \
  libcdio-utils vcdimager libvcdinfo0 libvcdinfo-dev libgpg-error0 libgpg-error-dev libgcrypt11 libgcrypt11-dev \
  gnutls-bin libgnutls26 libgnutls-dev libdap-dev libxml2 libxml2-dev \
  libjpeg8 libtiff-dev libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libc-bin gettext libfreetype6 libfreetype6-dev \
  libfribidi-dev libfribidi0 zlib1g zlib1g-dev libtag1-dev libcaca0 libslang2-dev libcaca-dev caca-utils  \
  libportaudio2 libupnp-dev libexpat1 libexpat1-dev yasm libxcb-xv0 libxcb-xv0-dev \
  libx11-xcb1 libx11-xcb-dev libswscale-dev lua5.2 libxcb-composite0-dev


######有一些很是重要的依赖关系,gettext:国际化支持;libdvbpsi是MPEG-TS支持;libmad:是MP3音频解码;libmpeg2:MPEG1和MPEG2视频支持;ffmpeg或者libav(libavcodec,libavformat,libpostproc,libswscale,以及libavio)对MPEG4和大多数音频和视频解码;liba52:杜比声音;dvdread:用于dvd回放,live555回放rtsp流。对于音频输出,可能须要alsa-lib(linux),对于视频输出一般须要XCB、XVideo或者OPenGL/GLX。
######须要安装这些库来编译VLC,在Debian/Ubuntu上,这些库的包名通常以-dev结尾。若是所使用的linux发行版未提供这些库,最好静态编译并连接到VLC.bootstrap

#-4   配置VLC
######./configure用于检测系统是否可以编译VLC,您还能够选择构建中的特性,使用./configure --help会列出各类构建选项windows

./configure


######对大多数用户来讲,./configure不须要任何命令行选项。
######默认状况下会根据检测到的可用库自动选择要编译的特性。若是库再也不默认目录,也不在vlc源码所在目录,为了./configure找到这些库,须要使用PKG_CONFIG_PATH去指定这些库的路径
######有些特性在默认状况下是禁用的,若是须要它们,则必须使用configure选项来强制编译它们。您能够在./configure --help中搜索disable来找到默认被禁用的特性列表。
######默认禁用选项:
###### --with-libfuzzer=DIR                                 从DIR指定目录中使用libFuzzer库
###### --enable-debug                                       使能运行时断言即显示日志
###### --enable-gprof                                       使用gprof配置文件
###### --enable-cprof                                       使用cprof配置文件
###### --enable-coverage                                    构建测试版
###### --with-sanitizer=(address/memory/undefined/thread)   使用sanitizer构建
###### --enable-run-as-root                                 容许容许vlc时候使用root权限
###### --enable-wma-fixed                                   libwma-fixed,模块
###### --enable-omxil                                       openmax il 编码器魔抗
###### --enable-merge-ffmpeg                                合并FFmpeg-based插件
###### --enable-tremor                                      Tremor解码支持
###### --enable-bpg                                         BPG支持
###### --enable-opensles                                    Android OpenSL ES audio module (default disabled)
###### --enable-minimal-macosx                              Mac OS X 最小化支持
###### --enable-lirc                                        lirc 支持
###### --enable-update-check                                检测升级系统
######若是你想把VLC安装在其余目录,可从https://wiki.videolan.org/Configure/ 获取典型的configurebash

./configure --prefix=/path/to/install/folder/


#####拟采用https://wiki.videolan.org/Configure/推荐的linux GIT的示例配置
 ide

sudo ./configure PKG_CONFIG_PATH=/home/gy/Qt5.12.0/5.12.0/gcc_64/lib/pkgconfig --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --enable-dca --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac--enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-livedotcom --with-livedotcom-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --enable-alsa --disable-kde--enable-wxwindows   --enable-ncurses --enable-asa --enable-debug

报错:
    configure: error:  No package 'xcb-xkb' found. Pass --disable-xcb to skip X11 support.
解决:工具

sudo apt-get install libxcb-xkb-dev


报错:
     error: No package 'Qt5Svg' found.
解决:post

sudo apt-get install libxcb-xkb-dev

    报错:
     configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.
解决:开发工具

sudo apt-get install lua5.2-dev

报错:
     configure: error: Could not find the LUA byte compiler.
解决:

sudo apt-get install lua5.2


#-5   编译

make

错误:Making all in share
make[2]: 进入目录“/home/gy/vlc/vlc/share”
  LUAC   lua/extensions/VLSub.luac
luac: lua/extensions/VLSub.lua:1100: unexpected symbol near `#'
解决:卸载lua50 从新安装lua5.1以上版本便可

######你再也不须要去安装vlc,能够在vlc所在目录直接在命令行中运行vlc
######若是想要去安装vlc,则使用root权限安装

sudo make install

######若是后来你想要卸载vlc,你可在保持构建树不变的状况下运行

sudo make uninstall

######删除编译产生的中间文件

sudo make clean
相关文章
相关标签/搜索