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

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.lryc.cn/news/617487.html

相关文章:

  • C/C++练习面试题
  • WebSocket-java篇
  • 使用frp内网穿透实现远程办公
  • etf期权剩余0天还能交易吗?
  • Rust学习笔记(一)|Rust初体验 猜数游戏
  • 面试题-----RabbitMQ
  • 微算法科技(NASDAQ:MLGO)通过蚁群算法求解资源分配的全局最优解,实现低能耗的区块链资源分配
  • Linux入门DAY21
  • Dify在Windows系统的部署
  • 【运维进阶】LAMPLNMP 最佳实践
  • Nginx学习笔记(一)——Nginx的简介
  • docker部署elasticsearch-8.11.1
  • 【自动化运维神器Ansible】playbook setup模块深度解析:自动收集系统信息与变量应用
  • 实习学习记录
  • Linux系统编程Day12 -- 环境变量(初识)
  • 从预警到干预:ADAS系统如何通过BSD, FCW, AEB等功能保护你?
  • Pyecharts绘制折线图全解析
  • 区间修改 - 差分
  • 大模型中的反向传播是什么
  • 网络编程~
  • 【13-向量化-高效计算】
  • 《番外:Veda的备份,在某个未联网的旧服务器中苏醒……》
  • 飞算 JavaAI 智能进阶:从技术工具到金融科技开发范式的革新
  • 文件操作:fgets与gets区别+fread/fwrite +流定位接口
  • 【图像处理基石】PCA图像压缩与还原:基于OpenCV的Lena图实验
  • 2025 算法面试试题-阿里面试题分析
  • 【算法专题训练】11、字符串中的变位词
  • PyTorch基础(使用Tensor及Antograd实现机器学习)
  • GraalVM !拥抱云原生的 JVM
  • foreach 块并行加速