当前位置: 首页 > 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.dtcms.com/a/325565.html

相关文章:

  • C++ 限制类对象数量的技巧与实践
  • 案例实战,一文吃透 Web Components
  • Docker中ES安装分词器
  • CW32L011 GTIM通用定时器配置
  • 打破内网枷锁!TRAE SOLO + cpolar 让AI开发告别“孤岛困境”
  • ctc 解码原理
  • 正则表达式:文本模式的数学语言与编程工具
  • Selenium经典面试题 - 多窗口切换解决方案
  • redis笔记(二)
  • 排错000
  • 《基于Pytorch实现的声音分类 :网页解读》
  • 基于数据结构用java实现二叉树的排序器
  • Godot ------ 平滑拖动02
  • 使用Springboot实现简单的ELK日志搜索系统
  • 游戏引擎(Unreal Engine、Unity、Godot等)大对比:选择最适合你的工具
  • Godot ------ 平滑拖动01
  • OpenAI COO谈ChatGPT5的技术突破:编程、医疗、自动推理
  • 【LeetCode 热题 100】(七)链表
  • window显示驱动开发—创建多平面覆盖资源
  • 适合物流/应急/工业的对讲机,AORO M6 Pro构建高效指挥调度方案
  • 运动规划实战案例 | 基于多源流场(Flow Field)的路径规划(附ROS C++/Python实现)
  • 直接编辑pdf文件教程
  • 作用域与作用域链深度解析
  • 复杂提示词配置文件
  • wpf问题记录
  • 重学React(五):脱围机制一
  • 关于JavaScript 性能优化的实战指南
  • React 19 通用 ECharts 组件
  • 【牛客刷题】REAL809 转化
  • GPT-5越狱与零点击AI代理攻击:云与IoT系统面临新型威胁