使用Docket交叉编译Windows64的VLC3.0.21

使用Linux(Docket)交叉编译Windows64的VLC3.0.21

环境:

Ubuntu23.04

参考文档是源码里的流程:https://code.videolan.org/videolan/vlc/-/blob/3.0.x/extras/ci/gitlab-ci.yml?ref_type=heads
里面有自己搭建环境的方法,但是容易出错,反正我没成功过,若有那位大神成功了请来踢我。

安装Docker

curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh

一键安装,等待执行完成便可。
Docket的常用命令可参考我上传的资源Docker常用命令.xmind

下载镜像

docker pull registry.videolan.org/vlc-debian-win64-3.0:20211008140026

此处下载的镜像是给VLC3.0.21用的,若需要编译其他版本VLC,参考https://code.videolan.org/videolan/vlc/-/blob/master/extras/ci/gitlab-ci.yml
中相应版本的 VLC_WIN64_IMAGE 所指向的镜像,如:
在这里插入图片描述
下载过程中容易遇到卡死不动的情况,可以多次终止重下,或更换Docker镜像源,若实在不行,可使用我提供的离线安装包(只适用于3.0.21):
百度网盘
提取码:1024
下载后导入镜像

cat vlc-debian-win64-3.0_20211008140026.tar | docker import - vlc-debian-win64-3.0:20211008140026

启动容器

docker run --user root -v /opt/docker3012:/opt/docker3012 -it registry.videolan.org/vlc-debian-win64-3.0:20211008140026

# 在构建过程中因服务器不在国内,易出现连接不稳定导致的下载(构建)失败,建议使用代理
# 若拥有代理请使用:
docker run -e http_proxy=http://192.168.1.109:10809 -e https_proxy=http://192.168.1.109:10809 ……

–user用于指定登陆用户,默认并非root用户,在进行后续操作时易陷入无目录权限的问题。
-v用于指定本机与容器进行目录映射的位置关系,格式为<本机目录>:<容器目录>,这一步是为了防止容器意外退出导致下载的依赖消失。映射的<容器目录>是后续所有操作的根目录。
-e可以指定容器内使用的代理地址,防止因网络问题导致的构建VLC失败。推荐使用v2rayN,代理需付费购买,软件记得开启局域网连接。

下载VLC源码

cd <容器映射目录>
git config --global core.autocrlf false
git clone https://code.videolan.org/videolan/vlc.git

# 切换VLC版本
cd vlc
git checkout -b 3.0.21 origin/3.0.x

于写文档时(2024/01/23),3.0.x版本指的就是3.0.21版本,后续可能还会升级,请保证版本的统一。
之前出现过下载VLC源码的tar包进行编译出现找不到.git的问题,所以一直在用git克隆。若无法连接到github,可在源码根目录使用git init命令新建.git目录。

构建VLC

mkdir build
cd build
../vlc/extras/package/win32/build.sh -a x86_64

这一步很费时间大约得20多分钟。期间会从网上下载很多依赖,包括Web插件。

编译VLC

cd win64
make package-win-common

最后一步,可以根据需求编译,每次修改源码后需要重新编译(不需要再次构建)

命令描述
make package-win-commonvlc-x.x.x创建一个以所有二进制文件命名的子目录。您可以直接拷贝此目录到Windows运行 VLC。
make package-win-strip与第一条相同,但将创建“剥离”二进制文件(即最小尺寸,无法与调试器一起使用)。
make package-win32-7zip与第一条相同,但会将目录打包在 7z 文件中。
make package-win32-zip与第一条相同,但会将目录打包为 zip 文件。
make package-win32与第一条相同,但还会创建一个自动安装程序包。您必须将 NSIS 安装在其默认位置才能使其正常工作。
  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胡桃の壶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值