通过docker编译VLC
Posted 白嫩豆腐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过docker编译VLC相关的知识,希望对你有一定的参考价值。
前言
VLC开发一般是通过linux系统,linux在工作中还是有不少,并且最近升级了操作系统,编译出现异常,这里试图通docker作为开发环境。可以跨平台开发。不过最终编译通过后,在window下,因为文件系统的问题,make检测文件日期会出现问题,编译效率无法胜任日常开发要求。这里稍微记录一下具体过程
正文
编写dockerfile。配置必要的ubuntu环境,安装编译需要软件,以及SDK以及NDK,设置enterpioint,具体如下:
FROM ubuntu:20.04
MAINTAINER baigui
# Replace APT sources
# RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get -y dist-upgrade
RUN apt-get -y install apt-transport-https ca-certificates gnupg2 software-properties-common
# RUN apt-add-repository -y ppa:kelleyk/emacs
RUN apt-get update
# Install tzdata
RUN bash -c 'DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata'
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN dpkg-reconfigure -f noninteractive tzdata
# set locale
RUN apt-get -y install locales
RUN locale-gen zh_CN.UTF-8
RUN locale-gen en_US.UTF-8
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:zh:en_US:en
ENV LC_ALL=zh_CN.UTF-8
ENV LC_ADDRESS=zh_CN.UTF-8
ENV LC_NAME=zh_CN.UTF-8
ENV LC_MONETARY=zh_CN.UTF-8
ENV LC_PAPER=zh_CN.UTF-8
ENV LC_IDENTIFICATION=zh_CN.UTF-8
ENV LC_TELEPHONE=zh_CN.UTF-8
ENV LC_MEASUREMENT=zh_CN.UTF-8
ENV LC_TIME=zh_CN.UTF-8
ENV LC_NUMERIC=zh_CN.UTF-8
ENV LC_MESSAGES=zh_CN.UTF-8
ENV LC_COLLATE=zh_CN.UTF-8
ENV LC_CTYPE=zh_CN.UTF-8
# Install user softwares
RUN apt-get -y install automake ant autopoint cmake build-essential libtool-bin patch pkg-config protobuf-compiler ragel subversion unzip git openjdk-8-jre openjdk-8-jdk flex python wget bison
ADD ./sdk/sdk/ /opt/android/sdk
ADD ./sdk/android-ndk-r21e/ /opt/android/ndk
ENV PATH=PATH=/opt/android/sdk/platform-tools:$PATH
ENV PATH=PATH=/opt/android/sdk/tools:$PATH
ENV ANDROID_SDK=/opt/android/sdk
ENV ANDROID_NDK=/opt/android/ndk
RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
# End
RUN apt-get clean
ENTRYPOINT ["/bin/bash"]
这里在docker目录下下载了SDK以及NDK,根据需要自行下载,然后复制到image中。
构建image是通过
sudo docker build -t ubunut_vlc:1.1 .
最终可以通过
sudo docker run -it -h ubunut_vlc -v 'your/vlc/source/path':/vlc ubunut_vlc:1.1
如果已经构建到container,可以直接通过
sudo docker start -i yourcontainerid
编译的话,进入docker终端,可以运行编译指令即可,
后记
编译大型项目,还是需要本地开发环境,任何其他的虚拟机或者容器,多少都有问题,不过在linux环境下,通过docker编译vlc,也是一个可行的选择,编译效率没问题。
以上是关于通过docker编译VLC的主要内容,如果未能解决你的问题,请参考以下文章
如何使 vlc 支持 fdk-aac 编码(windows平台