VLC源码编译—linux下交叉编译x86和x64版本(附采坑记录)
- 官方文档地址:
https://wiki.videolan.org/Win32Compile/#Obtaining_the_toolchain - github地址:
https://github.com/videolan/vlc
本文参考地址:
- VMware Ubuntu安装详细过程(非常靠谱):
- 流媒体02:Linux交叉编译VLC-2.2.1:
- vlc-2.2.4 交叉编译 UbuntuX64_1604_Desktop 编译windows版本vlc:
1、编译环境
win10,ubuntu 16.0.4,linux 64位,Vlc 2.2.4,VMware Workstation 14。
下载地址:
ubuntu下载地址:
http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
VLC32位依赖库下载地址:
VLC64位依赖库下载地址:
原始下载地址:(过墙):
http://download.videolan.org/pub/videolan/contrib/x86_64-w64-mingw32
mingw32 和 64 原始下载地址:
VLC2.2.4源码下载地址:
https://blog.csdn.net/wangyequn1124/article/details/69247220
2、准备工作
编译VLC源码需要一些软件的支持,在编译过程中也需要用到一些软件。
- 在linux64位下,网上都是apt-get安装软件,本人推荐使用aptitude命令安装,倘若没有,可先安装aptitude,因为aptitude可以帮助解决软件的依赖关系,给出合理建议,询问你是否采纳,避免很多麻烦。
|
|
由于ubuntu源默认是ubuntu的网站,需要过墙网速才稍有好转,因此推荐首先更换国内源,参考文章:Ubuntu】修改Ubuntu的apt-get源为国内镜像源的方法:http://www.zgljl2012.com/ubuntu-xiu-gai-ubuntude-apt-getyuan-wei-a-li-yun-yuan-de-fang-fa/
在更换国内源时推荐首先安装vim,使用vim打开文件再覆盖原内容。
|
|
3、编译依赖软件安装
ctrl+alt+T,打开命令行,依次执行下面的命令:
|
|
安装过程中可能会出现Configuring ttf-mscorefonts-installer的配置页面,按tab后,选择ok或者yes,一路回车即可。
4、执行脚本
将如下内容保存到脚本jb.sh
|
|
然后执行脚本:
5、解压源码
|
|
6、准备预编译
|
|
预编译完成后退回源码根目录(vlc-2.2.4)
|
|
7、准备编译源码
|
|
8、构建
|
|
9、打包
|
|
10、踩坑记录
1、倘若在安装依赖软件的时候报错:
UBuntu安装软 件时提示:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
E: 无法找到软件包 build-essential
1234 ## 此问题解决方法:## 先执行$ sudo aptitude update## 然后再安装软件即可
2、安装依赖软件时QT报错,见官网说明 ↓: 因此换成qt4-default即可。
qt4-dev-tools, qt5-default (or qt4-default if qt plugin build fails)
3、sh脚本运行不过,是因为linux编码和windows不同,linux换行是/n,windows是/r/n。因此需要安装dos2unix软件,转换格式后再运行脚本。
4、执行xxx时有可能报错:error: LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher! 是由于mingw版本太低,重新安装高版本即可。
|
|
5、configure: error: You need 32-bits luac when using lua from contrib
|
|
6、libavutil versions 55 and later are not supported
7、configure: error: Package requirements (xcb) were not met
8、No package ‘alsa’ found. alsa-lib 1.0.24 or later required
~~ EOF ~~