当前位置: 首页 > java >正文

ubuntu20.04交叉编译vlc3.0.21 x64 windows版本

1.下载源码:Index of /pub/videolan/vlc/3.0.21/

2.下载contrib:

http://download.videolan.org/pub/videolan/contrib/x86_64-w64-mingw32/vlc-contrib-x86_64-w64-mingw32-20240625.tar.bz2

3.安装依赖

sudo apt-get update -qq
#官网说的依赖
sudo apt-get install -qqy \git wget bzip2 file libwine-dev unzip libtool libtool-bin libltdl-dev pkg-config ant \build-essential automake texinfo yasm p7zip-full autopoint \gettext cmake zip wine nsis g++-mingw-w64-i686 curl gperf flex bison \libcurl4-gnutls-dev python3 python3-setuptools python3-mako python3-requests \gcc make procps ca-certificates \openjdk-11-jdk-headless nasm jq gnupg \meson autoconf liblua5.2:i386 liblua5.2-dev#博客说的依赖,反正都安装一遍
apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64-tools
apt-get install lua5.2:i386 libtool automake autoconf autopoint make gettext pkg-config qt4-dev-tools qt5-default git subversion cmake cvs wine64-development-tools libwine-dev zip p7zip nsis bzip2 yasm ragel ant default-jdk protobuf-compiler dos2unix

4.安装contrib

mkdir contrib/win32 && cd contrib/win32#将下载好的contrib文件拷贝到contrib/win32下
#或者用命令下载:wget http://download.videolan.org/pub/videolan/contrib/x86_64-w64-mingw32/vlc-contrib-x86_64-w64-mingw32-20240625.tar.bz2tar -xjf vlc-contrib-*.tar.bz2
../bootstrap --host=x86_64-w64-mingw32
make prebuilt

5.返回源码根目录,配置编译环境

cd /home/name/vlc-3.0.18
./bootstrap
mkdir win32 && cd win32

6.编写build.sh,内容如下:

export PKG_CONFIG_LIBDIR="../contrib/x86_64-w64-mingw32/lib/pkgconfig"
export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
../configure \--host=x86_64-w64-mingw32 \--disable-static \--enable-shared \--disable-chromecast \--with-win32-sdk=../contrib/x86_64-w64-mingw32

7.执行./build.sh文件,有报错一般是缺组件,apt安装就是了

8.执行make -j4编译,遇到错误就查,参考:修改vlc 3.0.21源码解决directx_va.c:69:41: error: ‘FF_PROFILE_AV1_HIGH’ undeclared here (not in a function)-CSDN博客

如果是/gettext-runtime/intl/printf.c:138: undefined reference to `__imp___acrt_iob_func',就是minGW版本错误,那么需要更换ubuntu版本,我一开始是18.04,后面折腾问题越来越多,果断换ubuntu20.04,果然没有这些错误了。

还有不要在共享文件里编译,不要git clone费劲下载源码和contrib依赖,直接浏览器下载,不然数不清的坑等着你。

9.执行make package-win-common,会生成一个vlc3.0.21的文件夹,要的东西都在里面了。

10.参考

linux上交叉编译windows的VLC - 阿风小子 - 博客园

http://www.xdnf.cn/news/17619.html

相关文章:

  • 大模型落地:AI 技术重构工作与行业的底层逻辑
  • Pytest 全流程解析:执行机制与报告生成实战指南
  • java 插入式注解的打开方式!
  • MySQL,Redis重点面试题
  • SQL179 每个6/7级用户活跃情况
  • Spring Framework源码解析——BeanPostProcessor
  • 【学习嵌入式day-22-Linux软件编程-IO】
  • SpringBoot集成支付宝二维码支付接口详解
  • Python3.10 + Firecrawl 下载 Markdown 文档:构建高效通用文章爬虫
  • 不同FPGA开发板系统移植步骤
  • Chrome插件开发【Service Worker练手小项目】
  • 【LeetCode刷题集】--排序(三)
  • 【智能的起源】人类如何模仿,简单的“刺激-反应”机制 智能的核心不是记忆,而是发现规律并能迁移到新场景。 最原始的智能:没有思考,只有简单条件反射
  • Mamba 原理汇总2
  • AI(2)-神经网络(激活函数)
  • 支持小语种的在线客服系统,自动翻译双方语言,适合对接跨境海外客户
  • 数据结构-数组扩容
  • 开发指南130-实体类的主键生成策略
  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • 排错000
  • 基于 ZooKeeper 的分布式锁实现原理是什么?
  • windows上RabbitMQ 启动时报错:发生系统错误 1067。 进程意外终止。
  • 150V降压芯片DCDC150V100V80V降压12V5V1.5A车载仪表恒压驱动H6203L惠洋科技
  • git:分支
  • 提示词工程实战:用角色扮演让AI输出更专业、更精准的内容
  • 软件测评中HTTP 安全头的配置与测试规范
  • 数据变而界面僵:Vue/React/Angular渲染失效解析与修复指南
  • 基于 Axios 的 HTTP 请求封装文件解析
  • Console Variables Editor插件使用
  • 音视频学习(五十三):音频重采样