zoukankan      html  css  js  c++  java
  • 使用ninja -C out/Release指令编译安卓Webrtc的SDK报错找不到android ndk处理方式

    之前我们也介绍过很多关于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脚本

    在skiagyp下面的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指令,此错误消失。

  • 相关阅读:
    selenium爬取沃尔玛分类和商品详情
    linux下部署redis
    linux系统基本操作命令
    Scrapy & Django项目
    爬虫爬取百度搜狗图片持久化存储
    django + vue 简单配置登录注册及分页和实例化
    vue安装及常用属性
    vue跨域配制
    Django中配置全文检索
    Django框架知识点简单总结(1)
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15040670.html
Copyright © 2011-2022 走看看