NDK使用遇到的那些事(持续更新当中)

2023-11-12

:AppCamera:transformNativeLibsWithStripDebugSymbolForDebug

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':AppCamera:transformNativeLibsWithStripDebugSymbolForDebug'.
> A problem occurred starting process 'command 'D:\devTools\AndroidSDK\ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-strip''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

原因是升级NDK(android-ndk-r17-windows-x86_64)最新版本之后找不到ndk-bundle\toolchains\mips64el-linux-android-4.9\prebuilt\windows-x86_64\bin\mips64el-linux-android-导致的,删除升级之后的NDK版本,如果是通过AS中升级的最好在AS中删除,然后在下载旧版本的NDK,以下是android-ndk-r16b下载地址:

https://dl.google.com/android/repository/android-ndk-r16b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r16b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip

下载完成解压到之前的目录即可,运行即可,如果此时运行还报错,请继续往下读

CMake Error in CMakeLists.txt:The CMAKE_CXX_COMPILER:ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe is not a full path to an existing compiler tool

-- Build files have been written to: F:/workplace/duanbinbin/pano-share-sdk-android/PanoShareSDKAndroid/DemoJNI/.externalNativeBuild/cmake/debug/armeabi-v7a
[1/3] Building CXX object CMakeFiles/link
.dir/JNIHelper.cpp.o
[2/3] Building CXX object CMakeFiles/link.dir/link.cpp.o
FAILED: D:\devTools\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=D:/devTools/AndroidSDK/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=D:/devTools/AndroidSDK/ndk-bundle/sysroot  -Dlink_EXPORTS -IF:/workplace/duanbinbin/pano-share-sdk-android/PanoShareSDKAndroid/DemoJNI/src/main/cpp/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward -isystem D:/devTools/AndroidSDK/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=24 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security   -std=gnu++11 -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/link.dir/JNIHelper.cpp.o -MF CMakeFiles\link.dir\JNIHelper.cpp.o.d -o CMakeFiles/link.dir/JNIHelper.cpp.o -c F:\workplace\duanbinbin\pano-share-sdk-android\PanoShareSDKAndroid\DemoJNI\src\main\cpp\JNIHelper.cpp
clang++.exe: error: unable to execute command: program not executable
clang++.exe: error: assembler command failed with exit code 1 (use -v to see invocation)
FAILED: D:\devTools\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows\bin\clang++.exe  --target=armv7-none-linux-androideabi --gcc-toolchain=D:/devTools/AndroidSDK/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot=D:/devTools/AndroidSDK/ndk-bundle/sysroot  -Dlink_EXPORTS -IF:/workplace/duanbinbin/pano-share-sdk-android/PanoShareSDKAndroid/DemoJNI/src/main/cpp/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -isystem D:/devTools/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward -isystem D:/devTools/AndroidSDK/ndk-bundle/sysroot/usr/include/arm-linux-androideabi -D__ANDROID_API__=24 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb -Wa,--noexecstack -Wformat -Werror=format-security   -std=gnu++11 -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/link.dir/link.cpp.o -MF CMakeFiles\link.dir\link.cpp.o.d -o CMakeFiles/link.dir/link.cpp.o -c F:\workplace\duanbinbin\pano-share-sdk-android\PanoShareSDKAndroid\DemoJNI\src\main\cpp\link.cpp
clang++.exe: error: unable to execute command: program not executable
clang++.exe: error: assembler command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: su
bcommand failed.
:DemoJNI:externalNativeBuildDebug FAILED
:DemoJNI:buildInfoGeneratorDebug

FAILURE: Build failed with an exception.

 * What went wrong:
Execution failed for task ':DemoJNI:externalNativeBuildDebug'.
> Build command failed.
  Error while executing process D:\devTools\AndroidSDK\cmake\3.6.4111459\bin\cmake.exe with arguments {--build F:\workplace\duanbinbin\pano-share-sdk-android\PanoShareSDKAndroid\DemoJNI\.externalNativeBuild\cmake\debug\armeabi-v7a --target link}
  [1/1] Re-running CMake...
  CMake Warning at D:/devTools/AndroidSDK/ndk-bundle/build/cmake/android.toolchain.cmake:63 (message):
    Using custom NDK path (ANDROID_NDK is set):
    D:\devTools\AndroidSDK\ndk-bundle
  Call Stack (most recent call first):
    F:/workplace/duanbinbin/pano-share-sdk-android/PanoShareSDKAndroid/DemoJNI/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/3.6.0-rc2/CMakeSystem.cmake:6 (include)
    CMakeLists.txt

解决方式如下:

  • 在项目目录下\app.externalNativeBuild\cmake中找到CMakeSystem.cmake文件
    这里写图片描述
  • 打开CMakeSystem.cmake文件,找到红色圆圈中的文件
    这里写图片描述

  • 编辑android.toolchain.cmake文件,查找# Toolchain.关键字

# Toolchain.
if(CMAKE_HOST_SYSTEM_NAME STREQUAL Linux)
  set(ANDROID_HOST_TAG linux-x86_64)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL Darwin)
  set(ANDROID_HOST_TAG darwin-x86_64)
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows)
   #set(ANDROID_HOST_TAG windows-x86_64)
   set(ANDROID_HOST_TAG windows)
endif()

修改set(ANDROID_HOST_TAG windows-x86_64)为set(ANDROID_HOST_TAG windows)即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NDK使用遇到的那些事(持续更新当中) 的相关文章

  • Android NDK 为什么要 extern “C”

    由于C 43 43 函数支持重载 xff0c 就是一个C 43 43 函数 xff0c 可以有不同的参数个数和类型 xff0c 编译后函数名会变 为了避免ndk load 的C C 43 43 库的时候找不到这个函数 xff0c 索性都用
  • Ubuntu16.04下安装Android机顶盒(Android4.4.2)NDK交叉编译环境

    Ubuntu16 04下安装Android机顶盒 Android4 4 2 NDK交叉编译环境 文章目录 Ubuntu16 04下安装Android机顶盒 Android4 4 2 NDK交叉编译环境 一 前言 二 ndk下载 三 ndk安
  • NDK工程使用ncnn vulkan包提示需要frtti、fexceptions

    这两天弄一个工程 是在安卓端部署ncnn with vulkan的项目 一般来说都会用到 try catch 或者 有些库需要用到typeid 一般的方法是在build gradle里面加上 externalNativeBuild cmak
  • NDK开发(一)————如何在Android Studio下进行NDK开发

    在AS中进行NDK开发之前 我们先来简单的介绍几个大家都容易搞懵的概念 1 到底什么是JNI 什么是NDK 2 何为 交叉编译 先看什么是JNI JNI的全称就是Java Native Interface 即java本地开发接口 可能大家和
  • Android开发实践:Java层与Jni层的数组传递

    http www linuxidc com Linux 2014 03 97561 htm Android开发中 经常会在Java代码与Jni层之间传递数组 byte 一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层 由J
  • make: *** No rule to make target `all'. Stop.的问题 解决办法!

    项目 build native sh后导入eclipse一直提示一个很恶心的报错 make No rule to make target all Stop 网上搜了半天的英文资料 都无法解决 最后在论坛里找到了解决方案 在这里整理了下mac
  • android开发使用 ndk-stack 打印崩溃日志

    使用 ndk stack 的时候需要你的 lib 编译为 debug 版 通常需要下面的修改 1 修改 android mk 增加 为 LOCAL CFLAGS 增加 g 选项 2 修改 application mk 增加 APP OPTI
  • 计算机视觉中自注意力构建块的PyTorch实现

    作者 AI Summer 编译 ronghuaiyang 导读 一个非常好用的git仓库 封装了非常全面的计算机视觉中的自注意力构建块 直接调用 无需重复造轮子了 git仓库地址 https github com The AI Summer
  • Android JNI开发从0到1,java调C,C调Java,保姆级教程详解

    前些天发现了一个蛮有意思的人工智能学习网站 8个字形容一下 通俗易懂 风趣幽默 感觉非常有意思 忍不住分享一下给大家 点击跳转到教程 第一步首先配置Android studio的NDK开发环境 首先在Android studio中下载NDK
  • 重学二、函数指针&指针运算

    目录 1 多级指针 2 数组与数组指针 3 采用指针遍历数组 4 循环时给数组赋值 5 指针类型有何用 7 函数指针 1 多级指针 int main int num 66 int pointer num 一级指针 int sec point
  • 关于Android arm64-v8a、armeabi-v7a、armeabi、x86等CPU下的so文件兼容问题

    先介绍几个专业词 ARM 是嵌入式中的一种架构 全称为Advanced RISC Machine 能够理解为ARM处理器 ABI Application Binary Interface 应用程序二进制接口 描述了应用程序和操做系统之间 一
  • Android 使用ffmpeg软编码 将摄像头采集视频编码成视频文件

    Android 使用ffmpeg软编码 将摄像头采集视频编码成视频文件 这次代码实现的是视频采集的功能 Android 通过jni 调用ffmpeg 编码yuv数据变成视频文件 先上代码 编码器上下文保存的实体 struct EnCodeB
  • Android JNI实现锅炉压力显示系统详解

    前些天发现了一个蛮有意思的人工智能学习网站 8个字形容一下 通俗易懂 风趣幽默 感觉非常有意思 忍不住分享一下给大家 点击跳转到教程 第一步创建GuoLu c文件 Created by DELL on 2023 8 13 include
  • Android NDK添加NEON以及cpufeatures支持

    本人使用Android studio3 0进行NDK开发 由于Android develop官网文档是针对2 2版本以下 这里为2 2以上版本的cmakelist配置做以下纪录 一 添加NEON支持 在build gradle app 中添
  • jni入门级别教程

    前提条件 笔者假想着 能看到这篇博客的读者 NDK环境 已经配置好了哈 开发步骤 第一步 新建工程 工程建完之后在真机或模拟器上运行一遍 确保工程建的没问题 第二步 配置NDK 第三步 在Java中添加 native 函数 并 调用 我们这
  • 在 Android Studio 2.2 中愉快地使用 C/C++

    使用 Android studio 你可以将 C 和 C 代码编译成 native library 然后打包到你的 APK 中 你的 Java 代码可以通过 Java Native Interface JNI 调用 native libra
  • java.lang.UnsatisfiedLinkError

    java lang UnsatisfiedLinkError 原因 jni注册的时候匹配写错了 I B B 如下 static JNINativeMethod methods native getSps I B B void Native
  • couldn't find native method

    有两个原因 1 java这边native方法没有 native void renderFrameStart 2 c这边没有实现native方法 12 29 15 52 27 901 32735 32735 com ffmpegtest E
  • Android NDK 编译 三方库记录 及 jni库封装问题

    因工作需求 要将原先的c 库跨平台编译 在Android上运行 其依赖了几个第三方库 也需要一起编译 在此做个记录 所需工具 centos 系统上完成 1 cmake 3 15 6 2 ndk android ndk r21e NDK 下载
  • javah用法

    正确做法 进入到包com所在的目录 是java文件所在的包 不是class javah classpath jni com jnitest MainActivity 如果执行这个 javah jni com example zndktest

随机推荐

  • poj 1195 Mobile phones

    Problem poj org problem id 1195 vjudge net contest 146952 problem C Meaning 有一个 S S 的正方形区域 两维的下标范围都是是 0 S 1 有 4 种操作 1 0
  • git图形化工具GitKraken的使用——Stash和Pop

    正如两个单词的字面意思一样 stash 贮藏 pop 将准备好的东西突然拿出来 这一节模拟git中的这两个命令 git stash 和 git stash pop 在实际开发中 解决bug是避免不了的 在git中 每个bug都是通过新建一个
  • 2022年9月电子学会C语言等级考试试卷(二级)答案解析

    青少年软件编程 C语言 等级考试试卷 二级 分数 100 题数 5 1 统计误差范围内的数 统计一个整数序列中与指定数字m误差范围小于等于X的数的个数 时间限制 5000 内存限制 65536 输入 输入包含三行 第一行为N 表示整数序列的
  • 分治法和蛮力法MATLAB求最近点对

    主程序 main m clear clc n 20 随机生成20个点 A rand n 2 10 将20个点按横坐标升序排列 A sortrows A 1 蛮力法求随机点的最近点对 mindist x1 x2 Bcloest A 1 n m
  • constraintlayout嵌套_Android开发知识(二十六)强大的约束布局 - ConstraintLayout的用法总结...

    th 0dp android layout height 0dp app layout constraintHeight percent 0 5 app layout constraintHei oid layout height 0dp
  • 中继的框架与介绍

    一 概述 继 Relay 是一种网络设备或服务 用于转发网络数据包或消息 它在计算机网络中起到桥接 转发或中转的作用 将信息从一个地方传递到另一个地方 中继可以用于不同类型的网络 包括局域网 LAN 广域网 WAN 互联网等 它可以在不同网
  • Pycharm配置本地解释器

    由于Pycharm自带解释器 所以默认情况下我们是无法使用本地安装好的第三方库的 这个时候我们需要在Pycharm中配置本地的解释器 1 setting 2 add 3 找到本地的python解释器的路径
  • 超级详细找CALL写CALL教程[转]

    首先我们要知道一点 为什么要找CALL CALL是什么 大家知道易里的子程序吧如何调用子程序的 这里的CALL就是调用子程序的意思 那问了为什么要找他的 答案是 当你些个游戏的外挂用模拟键盘操作的时候 被操作的永远是当前窗口 当窗口切换的时
  • 多元时间序列因果关系分析研究综述

    Granger因果分析基本方法 目录 Granger因果分析基本方法 条件 Granger 因果模型 多元混沌时间序列因果分析 高维时间序列的因果分析 Lasso Granger因果模型 非线性Granger因果模型 Granger因果关系
  • DHCP 理论

    DHCP的基本工作过程 有4个阶段 discover offer request ack nak 抓包 标准地址池 1 地址段 网络号 掩码 2 网关 用于不同网段通信 3 dns DHCP的offer包部分字段 option 1 掩码 o
  • 讯飞星火认知大模型可以内测了

    以ChatGPT为代表的AI产品层出不穷 每天在社交媒体都可以看到AI领域的新成果 写文章 写代码 绘画 各种功能让人大呼神奇 4月24日 讯飞星火认知大模型来了 只需一个指令 懂你所言 答你所问 创你所需 解你所难 学你所教 一旦掌握正确
  • scp传输文件的命令

    scp传输文件的命令 scp传输文件的命令 一 scp常规的使用方式 scp可以进行简单的远程复制文件的功能 它是一个在各个主机之间进行复制或文件传输的一个命令工具 它使用一种同ssh一样的安全机制来进行文件的传输 注意 下面定义的远程计算
  • 云计算day08-Kubernetes_K8s

    文章目录 1 k8s的架构 2 k8s集群的安装 2 1 环境准备 2 2 k8s master上配置 2 3 master节点安装kubernetes 2 4 node节点安装kubernetes 2 5 所有节点配置flannel网络
  • 简单阐述下决策树、回归、SVM、神经网络等算法各自的优缺点?

    正则化算法 Regularization Algorithms 集成算法 Ensemble Algorithms 决策树算法 Decision Tree Algorithm 回归 Regression 人工神经网络 Artificial N
  • 检测浏览器是否开启firebug以及如何避免调试信息带来的脚本错误

    今天发现使用Gmail的时候开启firebug 会给出提示 在已知情况下 除非正确配置 Firebug 否则它会使 Gmail 运行缓慢 解决此问题 隐藏 感叹Gmail真是事无巨细 面面都考虑到了 于是想了解Gmail是如何检测用户是否开
  • vue解决Not allowed to load local resource

    前言 在进行通过本地路径进行加载图片的时候 突然就报了这个问题 Not allowed to load local resource 这个是由于安全性的问题 导致浏览器禁止直接访问本地文件 那么 这边我说一下我具体是怎么解决的吧 问题描述
  • linux alien命令将deb安装包和rpm安装包进行相互转换

    alien命令作用 alien是一个用于在各种不同的Linux包格式相互转换的工具 其最常见的用法是将 rpm转换成 deb 或者反过来 alien命令安装 Debian系linux可使用下面命令安装alien sudo apt get i
  • 分享一下我做软件测试这些年的心路历程,以及软件测试的发展方向。

    为什么入软件这行 很多人问我 一个女孩子做这个不太好 做不长久 特别年龄大了更不好做 我只是很随意的说专业对口 我能说是看上这个行业的高工资和技术范么 这样太俗了 然而就是这个俗气的理由让我走上这一条路 且想一直走下去 为什么呢 一是因为做
  • Circuit Board

    http acm zju edu cn onlinejudge showProblem do problemCode 164 On the circuit board there are lots of circuit paths We k
  • NDK使用遇到的那些事(持续更新当中)

    AppCamera transformNativeLibsWithStripDebugSymbolForDebug FAILURE Build failed with an exception What went wrong Executi