编译ffmpeg,在执行ndk-build clean时遇到的问题

Android NDK下载指南:版本选择、安装配置与避坑实践 Android NDK(Native Development Kit)是用于在Android平台进行C/C++原生开发的核心工具链,它提供了编译器、平台库和调试工具,使开发者能够构建高性能的本地库(.so文件)。其工作原理在于通过Clang等编译器将原生代码编译为特定ABI架构的二进制文件,并与Android的Bionic C库链接。这项技术的价值在于能够直接调用底层硬件资源,显著提升图像处理、音视频编解码等计算密集型任务的执行效率。在实际应用场景中,NDK广泛用于游戏引擎、AR/VR应用和高性能计算模块的 阅读详情

在我自己的目录先,执行ndk-build clean时,报错提示如下:

/bin/sh: -c: line 0: syntax error near unexpected token `('  
/bin/sh: -c: line 0: `rm -rf (TARGET_OBJS)' 


解决办法:

ndk目录下/build/core/build-binary.mk文件

在49行($(my)OBJS) 前再加一个$


修改如下:

$(cleantarget): PRIVATE_CLEAN_FILES :=$($(my)OBJS) 

查看同文件中其它类似用法,确实也是这么用的。

 

这个问题出现的原因还得细查,编译其它动态库没有问题。



Mac---安装Navicat 把这个填充好的字符串放入刚才打开的RSA在线加解密的网站中的第二个框框(替换之前的请求码),第一个框框不动(还是之前第10步骤中的私钥),点击RSA私钥加密,这时会得到一个加密的字符串,这个就是激活码。{“K”:“你的K值”, “N”:“52pojie”, “O”:“52pojie.cn”, “DI”:“你的DI值”, “T”:你的时间戳}链接: https://pan.baidu.com/s/1mEVY4hnKdktg-p7DBIfD7A 提取码: twwg。Navicat会弹出一个对话框,点击“注册” 阅读详情

相关推荐

URDF模型转换实战:解决SolidWorks到Gazebo的五大常见问题

本文详细解析了从SolidWorks导出URDF模型到Gazebo仿真过程中常见的五大问题及解决方案,包括插件安装、坐标系建立、Link与Joint配置等关键步骤。通过实战经验分享,帮助机器人仿真工程师高效完成模型转换,确保Gazebo仿真准确性。

weixin_29052717的博客 445

Android NDK下FFmpeg 4.3动态库编译与集成指南

多媒体处理是移动开发中的常见需求,FFmpeg作为开源音视频处理库,其跨平台编译与集成是Android NDK开发的重要技能。本文以FFmpeg 4.3版本为例,详细介绍从环境配置到最终集成的完整流程。首先讲解NDK工具链的选择与配置,重点说明ndk-r21b版本在兼容性方面的优势;然后剖析FFmpeg的交叉编译原理,展示如何通过configure脚本生成动态库;接着演示如何通过CMake将编译好的FFmpeg库集成到Android项目中,包括ABI适配、头文件配置等关键步骤;最后针对实际开发中常见的编译错

weixin_33695082的博客 382

【动态规划】背包问题(详细总结,很全)

暴力的解法是指数级别的时间复杂度。进而才需要动态规划的解法来进行优化!背包问题是动态规划(Dynamic Planning) 里的非常重要的一部分,关于几种常见的背包,其关系如下:在解决背包问题的时候,我们通常都是按照如下五部来逐步分析,把这五部都搞透了,算是对动规来理解深入了。二维dp数组01背包,先遍历物品还是先遍历背包都是可以的,且第二层for循环是从小到大遍历一维dp数组01背包,只能先遍历物品再遍历背包容量,且第二层for循环是从大到小遍历。求组合数:外层遍历物品,内层遍历背包。

m0_51370744的博客 4万+

Android平台FFmpeg动态库编译与CMake集成实战

音视频处理是移动开发中的关键技术,FFmpeg作为开源多媒体框架,提供了强大的编解码能力。在Android平台集成FFmpeg时,动态库编译是常见需求,特别是需要定制编解码器或优化性能的场景。通过NDK工具链从源码编译,可以灵活控制模块裁剪和硬件加速选项,最终生成适配不同CPU架构的.so文件。结合CMake构建系统,开发者能高效地将编译产物集成到Android Studio项目中。本文以H.265编码支持为例,详细介绍从环境配置、编译脚本编写到CMake集成的完整流程,并针对常见问题提供解决方案。

weixin_34387468的博客 338

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

腾讯WeKnora开源了!手把手教你用Docker+Ollama本地部署多模态知识库(附避坑指南)

本文详细介绍了腾讯开源的多模态知识库工具WeKnora的本地部署方法,通过Docker和Ollama实现完全离线运行。文章包含环境准备、核心组件配置、Ollama模型集成、系统启动验证及高级性能调优等实战内容,特别适合需要构建私有化知识库的中小团队和个人开发者。

weixin_30664051的博客 479

编译内核出现错误提示:line 0:syntax error near unexpected token '('

编译内核出现错误提示:/bin/sh: -c :line 0:syntax error near unexpected token '(' 参考资料如下: Why do I receive the message "/usr/bin/sh: -c: line 0: syntax error near unexpected token `(' and /usr/bin/sh: -c: l

记录点滴,静心学习 8140

9.23华为OD机试真题 新系统 - 世界杯徽章换购 (Java/Py/C/C++/Js/Go)

9.23华为OD机试真题 新系统 - 世界杯徽章换购 (Java/Py/C/C++/Js/Go)

算法大师! 1600

syntax error near unexpected token `原因及解决办法

脚本中包含ifeq判断,需要顶格写。

2301_76381242的博客 3821

ANFIS实现数据非线性回归附Matlab代码

在本文中,我们将介绍如何使用Matlab实现基于MSE的ANFIS非线性回归,并提供相应的源代码。ANFIS是一种融合了模糊逻辑和神经网络的方法,它可以通过学习数据集中的模式来构建一个模糊推理系统。ANFIS的训练过程基于最小化MSE,以提高模型的拟合能力。通过上述代码示例,我们可以使用基于MSE的ANFIS模型对数据进行非线性回归,并获得相应的预测结果。在示例中,我们定义了一个包含两个样本的新输入数据集 X_new,然后使用训练好的ANFIS模型进行预测,并将结果存储在变量 Y_pred 中。

2301_79326588的博客 473

Openclaw第3章:进阶部署

本章面向需要在特定环境中稳定运行 OpenClaw 的用户,介绍 Windows、Linux、Docker 以及 Cloudflare Workers 四种进阶部署方式。每种方式各有侧重:Windows 部署适合桌面用户日常使用,Linux 部署适合开发者,Docker 部署适合追求环境隔离的运维场景,Cloudflare Workers 部署则适合希望获得全球边缘网络加速的用户。读者可根据自身环境和需求选择合适的方案,完成本章后可继续阅读第4章了解维护升级流程。

Maynor的博客 1295

Ubuntu 运行 sh 脚本报错syntax error near unexpected token `(‘

起初不知道,以为是sh文件名中的大括号“(”为全角字符导致了无法识别,尝试对sh文件重命名后再次运行,显示在执行新建COG文件夹子目录时就报错停止了,检查发现新建COG文件夹后无法进入,其名称显示为“COG/r”。今天下午疯狂copy张院士的代码,对COG进行批处理,由于是自己的第一次尝试,直接在windows系统下.txt输出代码改.sh后缀,直接拷贝到ubuntu系统中运行,出现了标题中的问题。Windows体系里面,每行结尾是"<换行><回 车>”,即"\n\r”。但要记得保存,命令为。

m0_73900794的博客 2592

Xilinx DDR3 MIG IP核设计--汇总导航

快速上手Xilinx DDR3 IP核----汇总篇

孤独的单刀 2万+

LFS chroot后装glibc时编译出错/bin/sh: command substitution: line 3: syntax error near unexpected token `)

LFS version 7.1  进行到第6章重新编译glibc时报 /bin/sh: command substitution: line 3: syntax error near unexpected token `) 百思不得其解. 最终 uninstall bash 4.2 重新编译 一个bash 4.1, make install 后重新chroot 再编译 glibc.

奋斗中拥有 6217

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

/bin/sh ./xxxxx.sh出现:“Syntax error: “(” unexpected”

Ubuntu/Debian为了加快开机速度,用dash代替了bash。 dpkg-reconfigure dash 选择 No,取消dash即可,要重新开启dpkg-reconfigure dash选择Yes即可。 或者dash启用时使用bash xxxxx.sh 另一种可能是: sh文件里的 #!bin/bash 改成#!/bin/bash 转载于:https://www.cnb...

weixin_30924087的博客 764

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

交叉编译ffmpeg so库

下载ffmpeg库,本文以ffmpeg-4.2.3为例。 FFmpeg下载 编译工具链 对于C/C++的编译,通常有两个工具 GCC 和 CLANG 。这两个库的区别就不介绍了,感兴趣的同学自行查阅相关资料。 Google在 ndk 17 以后,把 GCC 移除了,全面推行使用 CLANG 。所以各位同学一定要注意自己的ndk环境。 NDK 下载 编译、交叉编译工具目录 编译工具链目录: android-ndk-r17c/toolchains/llvm/prebuilt/darwin-x86_64/bin

liuhongshuo2012的专栏 1081

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android平台FFmpeg集成指南:从编译到JNI调用的完整实践

音视频处理是移动应用开发中的常见需求,涉及编解码、格式转换、剪辑合成等核心技术。其原理基于对多媒体数据的解析、转换与重构,通过算法实现高效处理。在Android开发中,本地音视频处理能力能显著提升应用性能与用户体验,避免云端传输延迟,增强离线功能。FFmpeg作为开源音视频处理库,提供了完整的解决方案,支持多种编解码器和封装格式。通过JNI技术,开发者可将FFmpeg集成到Android应用中,实现视频转码、音频提取等核心功能。本文详细介绍了FFmpeg在Android平台的编译配置、CMake集成及JNI

weixin_34151004的博客 402

告别LibVLC的OOM:手把手教你编译支持H265 RTSP的ijkplayer 0.8.8 (Android NDK r14b)

本文详细介绍了如何编译支持H265 RTSP的ijkplayer 0.8.8,解决Android平台上LibVLC的内存泄漏问题。通过Docker环境配置、源码获取、关键编译修改和分步编译流程,帮助开发者实现稳定的RTSP流媒体播放,并优化H265硬解支持,显著提升性能和稳定性。

461

Android应用集成FFmpeg:从编译裁剪到JNI调用的完整实践指南

音视频处理是移动应用开发中的常见需求,其核心在于对多媒体数据的编解码、封装与滤镜处理。FFmpeg作为一套开源的音视频处理解决方案,通过其模块化设计(如libavcodec、libavformat、libavfilter)提供了强大的底层能力。在Android平台集成FFmpeg,并非简单移植,而是需要针对移动端ARM架构进行交叉编译,并通过JNI(Java Native Interface)桥接Java/Kotlin层与C/C++原生库。这一技术方案的价值在于实现了对音视频处理流程的彻底掌控,避免了第三方

weixin_30781107的博客 313

告别LibVLC的OOM!保姆级教程:在Android上编译支持H265 RTSP的ijkplayer (NDK r14b + Gradle 6.1.1)

本文详细介绍了如何在Android平台上编译支持H265 RTSP的ijkplayer,解决LibVLC常见的内存溢出(OOM)问题。通过NDK r14b和Gradle 6.1.1的配置,提供从环境搭建到源码编译的完整教程,帮助开发者实现高性能流媒体播放,显著降低内存占用并提升播放稳定性。

congnen9588的博客 484

Android音视频开发进阶:FFmpeg集成与实战指南

音视频处理是移动应用开发中的核心技术领域,其核心在于对多媒体数据的编解码、封装与处理。FFmpeg作为业界公认的开源音视频处理框架,提供了跨平台的完整解决方案,能够突破Android原生媒体API在格式支持、处理效率与跨平台兼容性方面的局限。通过集成FFmpeg,开发者可以实现专业级的视频编辑、格式转换、流媒体处理等高级功能,为应用带来强大的媒体处理能力。本文聚焦于Android平台,详细解析FFmpeg的交叉编译、NDK配置与JNI调用的完整流程,并通过实战演示如何构建一个视频信息提取的Demo应用,帮助

weixin_30535843的博客 399

将ffmpeg移植到Android

首先要配置ndk,见前面一节:http://blog.youkuaiyun.com/huahuahailang/article/details/27373169 下面介绍如何将ffmpeg编译成动态库libffmpegjni.so。 在主目录下新建文件夹ayer/jni,将ffmpeg拷贝到jni目录中。在ayer目录下新建Android.mk文件,程序为: ~/ayer/jni/A

影音视频技术 1036

Android音视频开发:FFmpeg集成与JNI调用实战指南

音视频编解码是多媒体应用开发的核心技术,它涉及将原始音视频数据转换为特定格式进行存储或传输。其原理基于编码算法对数据进行压缩,解码则进行还原。在移动开发领域,Android系统虽然提供了MediaCodec等硬件加速方案,但在处理非标准格式、复杂滤镜或需要跨平台一致性的场景时,原生API往往能力有限。此时,集成功能强大的开源库成为关键解决方案,能够为应用带来专业级的处理能力和广泛的格式兼容性。FFmpeg作为业界公认的“瑞士军刀”,通过其libavcodec、libavformat等核心库,为开发者提供了从

weixin_34038293的博客 474

Android应用集成FFmpeg音视频处理引擎完整指南

音视频处理是多媒体应用开发的核心技术之一,涉及编解码、格式转换、流媒体处理等基础概念。其原理在于通过算法对音频和视频数据进行压缩、解压与编辑,以实现高效的存储与传输。在移动开发领域,这项技术能显著扩展Android原生MediaCodec的能力边界,解决格式支持不全、复杂处理需求等工程难题。尤其在Android平台进行音视频编辑、格式转换等场景下,集成成熟的音视频处理引擎成为关键。本文将聚焦于如何通过交叉编译、JNI封装等技术路径,将强大的FFmpeg库成功集成到Android应用中,并详细阐述其编译配置、

weixin_30251829的博客 427

Jasna局部马赛克修复:1080p视频34秒修完

你手里有一段存了很多年的老视频,3分22秒,但中间1分40到1分55那几秒,人脸被一块马赛克盖着。为了这十几秒,你不想把整部片子"重做"一遍——剩下的三分钟,一个像素都不该损失。Jasna 就是干这个的:**一个装在本地的开源 GPU 视频马赛克修复工具,只修视频里的马赛克区域,其余画面原样保留**。这篇文章帮你搞清楚三件事:它怎么工作、实际速度如何、你的机器能不能跑。 ## 它是怎么跑起来的(

gitblog_00885的博客 187

Android FFmpeg硬件加速集成:MediaCodec深度实践与性能优化

硬件加速是现代多媒体应用提升性能、降低功耗的核心技术。其原理是通过调用GPU、DSP等专用硬件单元,将繁重的编解码计算任务从通用CPU卸载,从而显著提升处理速度并减少能耗。在Android生态中,MediaCodec作为系统级的硬件编解码接口,是实现这一目标的关键组件。然而,直接使用MediaCodec API往往面临复杂性和兼容性挑战。FFmpeg作为强大的多媒体框架,通过其硬件加速框架(如AVHWDeviceType)提供了与MediaCodec集成的能力,使开发者能够以统一的方式利用硬件能力,同时结合

weixin_30781775的博客 660
上一篇: 开博第一篇即是吐槽。
下一篇: Lua 学习笔记(一)
h怀说
博客等级 码龄13年 0粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值