前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用ninja -C out/Release指令编译安卓Webrtc的SDK报错找不到android ndk处理

使用ninja -C out/Release指令编译安卓Webrtc的SDK报错找不到android ndk处理

原创
作者头像
TSINGSEE青犀视频
修改2021-07-20 17:45:16
1.3K0
修改2021-07-20 17:45:16
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

之前我们也介绍过很多关于webrtc的编译,由于gn 比 GYP 快不少,因此目前我们编译WebRTC是使用 gn 来生成构建脚本,使用 ninja 来构建。

gn生成ninja命令

使用 gn 生成 ninja 构建文件的常用命令如下:

// 生成 debug 版本的构建文件,默认配置

gn gen out/Debug

// 生成 release 版本的构建文件

gn gen out/Release --args="is_debug=false"

ninja脚本

在skia\gyp下面的gyp脚本是模板,执行sync-and-gyp时会根据这些模板来动态生成实际的构建脚本。很多模块依赖、条件等都可以在这个目录下的gyp或gypi中找到。

使用ninja -C out/Release指令编译报错

使用ninja -C out/Release指令编译安卓所需要的webrtc sdk时,出现了以下错误:

ninja: Entering directory `android/Release’

ninja: error: ‘…/…/third_party/android_ndk/sources/android/cpufeatures/cpu-features.c’, needed by ‘obj/third_party/android_sdk/cpu_features/cpu-features.o’, missing and no known rule to make it

从这个报错我们可以得知是文件依赖关系有问题,找不到所需要的文件。这种情况有时候是因为工程所在的目录发生改变,找不到依赖,对于webrtc而言,里面所依赖的插件都会下载到webrtc中第三方库里,但是打开webrtc第三方库里面找cpu-features.c文件是找不到的,所以表明webrtc缺少android ndk第三方。

因此我们需要从安卓官网下载所需ndk(https://developer.android.google.cn/ndk/downloads/revision_history),并拷贝到webrtc目录下面的third_part/android_ndk里面。然后再次运行ninja -C out/Release指令,此错误消失。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • gn生成ninja命令
  • ninja脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档