WSL2编译ijkplayer

news2025/8/7 6:08:24

Windows 11 专业版 22H2 22621.819
应用商店安装 Ubuntu 22.04.1 LTS
控制面板——程序和功能——启用或关闭Windows功能——适用于 Linux的Windows子系统
Error: 0x800701bc WSL 2 ???
在这里插入图片描述

升级WSL https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
换源
https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
sudo apt update
sudo apt-get install git yasm make
https://github.com/android/ndk/wiki/Unsupported-Downloads
wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
sudo apt install unzip
unzip android-ndk-r14b-linux-x86_64.zip
http://tools.android-studio.org/index.php/sdk/
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
tar -zxvf android-sdk_r24.4.1-linux.tgz
cd android-sdk/tools/
android update sdk --no-ui

https://blog.csdn.net/beishanyingluo/article/details/97675724
版本是jdk-8u221-linux-x64.tar.gz
链接:https://pan.baidu.com/s/1GZnUwB3nraObgperKlmBCg
提取码:17xx
tar -zxvf jdk-8u221-linux-x64.tar.gz
sudo nano /etc/profile

#配置java环境
export JAVA_HOME=/home/xuefei/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

#配置SDK的环境
export PLATFORM_TOOLS=/home/xuefei/android-sdk-linux/platform-tools
export PATH=$PATH:$PLATFORM_TOOLS

#配置NDK的环境
export ANDROID_NDK=/home/xuefei/android-ndk-r14b
export PATH=$PATH:$ANDROID_NDK

ctrl+x y
source /etc/profile

sudo dpkg-reconfigure dash
No

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B k0.8.8

cd config // 进入config目录
rm module.sh // 删除module.sh脚本
ln -s module-default.sh module.sh // 指定默认脚本软连接到module.sh
source module.sh // 重新执行刚修改的文件初始化,使之立即生效

nano module-default.sh
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" 
#支持rtsp
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"

./init-android.sh

./init-android-openssl.sh

编译openssl
cd …
cd android/contrib
./compile-openssl.sh clean
./compile-openssl.sh armv7a

编译ffmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh armv7a

编译ijkplayer
cd …
./compile-ijk.sh clean
./compile-ijk.sh armv7a

问题
BFD: libncurses.so.5: cannot open shared object file: No such file or directory
sudo apt install libncurses5

ERROR: Failed to create toolchain
$ANDROID_NDK/build/tools/make-standalone-toolchain.sh文件

#修改前的
#run python `dirname $0`/make_standalone_toolchain.py \
#    --arch $ARCH $PLATFORM_ARG --stl $STL $INSTALL_ARG $FORCE_ARG
    
#修改后的
python3 `dirname $0`/make_standalone_toolchain.py \
    --arch $ARCH $PLATFORM_ARG --stl $STL $INSTALL_ARG $FORCE_ARG

在这里插入图片描述
参考链接
https://www.cnblogs.com/zuojie/p/16457739.html
https://www.jianshu.com/p/10b1f3d7957e
https://blog.csdn.net/daydayupchen/article/details/126241746
https://www.jianshu.com/p/4991c8c0b5d8
https://blog.csdn.net/beishanyingluo/article/details/97675724

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/34541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

香港阿里云服务器被攻击了怎么办

香港阿里云被流量攻击了,一说到防御攻击,很多用户可能会想到CDN、高防IP等防御产品,这个思路是不错的。但是香港阿里云相对于国内的阿里云而言,更多情况下是无法直接使用国内的CDN和高防IP来防御的。大部分用户在使用香港阿里云时…

Go运行时的内存分配器以及消耗指定大小的内存(C语言)

对于go语言在运行时的一些内存分配,想要详细的了解,我们会用到自带的runtime.MemStats,有很多具体的细节实现,而不是简单的只看任务管理器中的内存分配。 我们先来看下这个记录内存分配器的结构体 type MemStats struct {Alloc …

【新知实验室】腾讯云TRTC初体验

一、前言 今年腾讯云音视频发布了“三合一”的RT-ONE™网络。该网络整合了腾讯云实时通信网络(TRTC)、即时通信网络(IM)以及流媒体分发网络(CDN)三张网络,为业界最完整的音视频通信PaaS平台构建…

【App自动化测试】(八)三种等待方式——强制等待、隐式等待、显示等待

目录1. 为什么要添加等待?2. 三种等待方式3. 强制(直接)等待4. 隐式等待4.1 隐式等待说明4.2 隐式等待无法解决的问题5. 显式等待5.1 为什么要使用显示等待机制?5.1.1 Html文件加载顺序5.1.2 为什么要使用显示等待机制&#xff1f…

简化工作和生活的 7 个在线地图制作平台分享

地图制作是数据和艺术的结合,数据可以传达人们想要的信息,而艺术是传达信息的一种方式,两者的正确组合创造了完美的地图。 每个平台在功能和价格方面都是独一无二的,有人可能认为创建自定义地图需要高级制图知识或复杂的地理信息…

从react源码看hooks的原理

React暴露出来的部分Hooks //packages/react/src/React.js export {...useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState,... }功能描述 useState、useReducer: 状态值相关useEffect、useLayoutEffect: 生命周期相关useContext: 状态共…

Java多线程(一)——多线程的创建

多线程 在计算机中为了提高内存和资源的利用率,引入了并发编程的思想;多进程和多线程都能实现并发编程,但是多线程相对于多进程更“轻量”,(多线程和多线程的关系和区别),所以这篇博客将着重讲…

CPU

文章目录CPU是什么CPU的构成1) 控制器2) 运算器3) 存储单元(寄存器和高速缓存)常见的CPU类型1) 单核 CPU2) 双核 CPU3) 四核 CPUCPU是什么 CPU 全称 Central Processing Unit,中文可译为中央处理器或者微处理器,或直接简称为处理…

挂脖式运动蓝牙耳机推荐,目前适合运动佩戴的五款耳机推荐

在科技的不断进步下,新型的骨传导耳机也是逐渐成为我们生活日常中的主流,其特殊的发声原理成为了我们喜爱的重点之一,也有些伙伴们还在边缘徘徊,想要入手骨传导耳机但又怕踩坑得不到好的体验,刚好小编在使用骨传导耳机…

【用户画像】应用场景

目前所做工作的主要业务场景:干货|一文从0到1掌握用户画像知识体系_腾讯新闻 广告联盟? 所谓广告联盟是什么呢?? 案例背景 某电商App的商品运营团队欲提升电子产品的老客复购率、新客下单率,于是选择了…

Tomcat常见问题解决方法总结,无法自动,无法访问,控制台乱码

Tomcat无法启动,无法访问 新下载的Tomcat,运行startup.bat后一闪而过,无法启动Tomcat服务。 可能会有这样的效果 可以在CMD窗口下进入Tomcat安装目录,运行startup可以看到报错信息。 可能有一下原因: 首先检查JAVA…

使用gitee部署静态网页

使用giteepages功能部署网页 需求 假如你辛辛苦苦写好了一个静态网页,很想要炫耀一下,让大家都可以通过公网访问看到我的网页。但是不想太麻烦,买服务器,安装软件,部署环境,配置域名,备案&…

通达信软件L2接口的委托队列有什么用?

如果我们开通了通达信Level 2接口,打开任意个股分时图,首先可以看到买一和卖一的部分委托(如下图红框处)。 点击【查看更多】,选择【委托队列】栏目,则可以看到完整的前50笔的委托买卖队列的数量。 而这些密…

【修电脑】VMware 从GHO文件备份恢复Win10/Win7系统

【修电脑】VMware 从GHO文件备份恢复Win10/Win7系统注意参考硬盘知识一、硬盘接口的分类二、硬盘的分类按照硬盘材质分为两大类按照接口类型区分boot启动知识Legacy BIOS引导uefi引导启动流程查看系统的引导启动方式1.VMware 新建win10 x64系统2.制作老毛桃U盘winpe3.VMware wi…

Linux C/C++ 学习笔记(七):DNS协议与请求

本文部分内容参考Linux C/C 开发(学习笔记九 ):DNS协议与请求的实现_菊头蝙蝠的博客-CSDN博客_struct dns 一、DNS的介绍 域名系统(英文:Domain Name System,缩写:DNS)的作用是将人…

佰维存储通过注册:拟募资8亿 国家集成电路基金是二股东

雷递网 雷建平 11月23日深圳佰维存储科技股份有限公司(简称:“佰维存储”)日前通过注册,准备在科创板上市。佰维存储计划募资8亿元,3亿元用于惠州佰维先进封测及存储器制造基地建设项目,2亿元用于先进存储器…

基于FME Desktop和FME Server的数据增量自动更新

一、自动更新的意义 自动更新使数据保持良好的现势性,具有良好现势性的数据可以准确反映最新情况,为领导者决策分析判断提供有力保障。 一年一度的国土变更调查就是国家为了及时全面查清我国土地利用状况,掌握详实准确的土地基础数据现势情…

项目分享:新年可以做的副业项目,红包封面制作

新的一年即将到来。今天想推荐一个非常暴力和稳定的项目,红包封面。这个项目在春节期间特别强大,因为新年包已经成为中国人的传统,从原来的纸包到现在的VX包已经成为一项必不可少的活动。因此,从需求的角度来看,这个项…

Linux 搭建本地镜像源(CentOS 离线 yum)

使用 RPM 包搭建本地镜像源 1. 下载所有源中的 RPM 包 yum -y install httpd yum-utils createrepo 创建 RPM 包的下载目录 mkdir /var/www/html/centos启动 httpd 服务 [rootlocalhost ~]# systemctl start httpd [rootlocalhost ~]# ss -antulp | grep :80 tcp LISTEN …

nerdctl 工具(用于 containerd 但兼容 docker CLI 习惯)

简介 nerdctl 是用于 containerd 并且 兼容 docker cli 习惯的管理工具,主要适用于刚从 docker 转到 containerd 的用户,操作 containerd 的命令行工具 ctr 和 crictl 不怎么好用,所以就有了 nerdctl。 要特别说明的是:nerdctl …