error: DIV usage mismatch between xx and output

2023-11-07

使用NDK编译代码的时候,常常需要导入预编译库。然而使用预编译库的时候报错了。

因为库文件是android源码编译出来或者是其他NDK版本产生的,库版本存在了不兼容的情况。


这里明显看出DIV 函数不兼容。

/home/u/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error:

DIV usage mismatch between /home/u/jr/android/obj/local/armeabi/libspeexresampler.so and output

当然最简单的办法就是拿到源码放到同一个编译器下编译一次。



android源码在external/目录下提供了很多有用的库,能利用上当然是很好的。


所以为了让编译出来动态链接库或者是静态库 能在ndk环境下正常使用。

ndk编译通常是jni目录下进行的,所以简单的方法是将需要编译的库拷贝一份再执行一次ndk-build.

这里存在一个问题,将动态库改成静态库,会发现根本不编译了,这时候需要加一个文件,指定一下编译的目标

jni\ 目录下添加一个 Application.mk 文件,里面只写上如下一行代码:
APP_MODULES := lib库名

这样其他工程用用到这个库,只需要预编译即可。




这里用一个libspeexresampler.so 的例子,源码在external/speex/

cp speex/  -R jni/

ndk-build

然后吧生产的so拷贝到其他工程下,Android.mk加入
include $(CLEAR_VARS)
LOCAL_MODULE := libspeexresampler
LOCAL_SRC_FILES :=libspeexresampler.so
include $(PREBUILT_SHARED_LIBRARY)
然后再依赖的模块加入:

LOCAL_SHARED_LIBRARIES := libspeexresampler






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

error: DIV usage mismatch between xx and output 的相关文章

随机推荐

  • Window 对象

    解释 Window 对象表示浏览器中打开的窗口 如果文档包含框架 或 标签 浏览器会为 HTML 文档创建一个 window 对象 并为每个框架创建一个额外的 window 对象 Window 对象属性 属性 描述 closed 返回窗口是
  • 如何使用Aiseesoft Mac Video Enhancer让视频更加清晰

    Aiseesoft Mac它可以让视频更加清晰 并在Mac上旋转侧向视频以纠正角度 它还允许您使用提供的裁剪 剪裁和水印功能编辑视频 小编来教您如何使用Aiseesoft Mac Video Enhancer让视频更加清晰 1 在Mac上添
  • MySQL主从复制详解

    文章目录 1 简介 1 1 应用场景 1 2 复制形式 2 复制原理 3 复制类型 3 1 异步复制 3 2 同步复制 3 3 半同步复制 4 复制方式 4 1 语句复制 Statement格式 4 2 行数据复制 Row格式 4 3 混合
  • 3.Elasticsearch基础操作

    介绍ES的基本操作 如创建索引 mappings doc的一些基本操作 在doc操作中将分别介绍查询单条数据和多条数据 通过DSL的方式和JAVA api的方式体现 3 1 索引操作 索引操作是一种很危险的操作 索引就像相当于关系型数据库的
  • 浅浅谈Canvas和SVG的区别

    1 Canvas Canvas 中文名称叫 画布 它是游戏中所有UI组件的 容器 一个场景中 可以允许多个Canvas对象的存在 还允许Canvas之间可以进行 嵌套 使用 需要注意的是 场景中的任何一个UI对象 都肯定是某个Canvas对
  • idea web项目中java程序的配置文件放在resources目录下,但是读取不到配置文件

    每个人遇到的情况可能不一样 这个问题困扰我一天多 最后才发现是用错了加载器 可能是同样的加载器调用的方法不一样作用也不一样吧 直接获取系统类加载器 当使用系统类加载器加载配置文件时报空指针异常 当时没考虑到加载器问题 一味的修改路径 绝对路
  • 层次分析法(附代码)

    层次分析法 The Analytic Hierarchy Process即AHP 是一种系统分析与决策的综合评价方法 其较合理地解决了定性问题定量化的处理过程 AHP的主要特点是通过建立递阶层次结构 把人类的判断转化到若干因素两两之间重要度
  • 最新服务器处理器天梯,服务器cpu天梯图2020 至强处理器天梯排名

    排名名称评分 1Intel Xeon Platinum 8173M 2 00GHz28 860 2Intel Xeon Gold 6154 3 00GHz27 722 3Intel Xeon Gold 6138 2 00GHz25 416
  • 判断环形链表及寻找入环口问题详解

    文章目录 一 判断环形链表 1 1 题目描述 1 2 题解详细思路与解答 二 找环形链表的入环点 2 1 题目描述 2 2 题解思路 2 2 1 为什么快指针每次走两步 慢指针走一步可以 2 2 2 快指针一次走3步 走4步 n步行吗 2
  • start.S文件分析

    S 显示源代码和反汇编代码 arm linux objdump S u boot arm linux objdump S u boot less 34800000 是这句代码的内存地址 是在Makefile中定义的 ea000014 将该汇
  • 错误:类 xxx 是公共的, 应在名为 xxx.java 的文件中声明

    此错误是因为类名和类文件名不一致造成的 我之前遇到是因为类名书写没有遵循驼峰规则 于是改了一下类名 但是类文件名没有改 启动项目时报错
  • Android Studio 之 Gradle与Project Structure详解

    http blog sina com cn s blog 77d5a0310102vhw1 html
  • 独角访谈

    1 序言 从比特币和区块链诞生的那天起 去中心化这个词就进入了大家的视野 技术极客们也纷纷开始研究这一开创性的技术及其应用 其中包括开发去中心化的数字货币交易所 然而这种交易所目前还未被大众熟知 原因有很多 比如大家目前还不够理解区块链技术
  • 时间控件里面禁选国家节假日期和双休,将其置灰

    继上篇文章 两个日期之间计算节假日 根据项目需要 对时间的选择进行约束 只能选择工作日 还是之前笨办法取到2018年和2019年的所有节假日 在计算属性中新增方法 判断是否是节假日 返回true和false 然后在时间控件中引用就可以了 看
  • 步道乐跑怎么刷次数_大事件

    别看了 没有方法 好好跑步锻炼身体才是硬道理 校会君很认真地建议大家好好跑步道乐跑哟 理由如下 没有看错 你的目标的确是80次 准备好了吗 再擦几次眼睛也没有用 女生的里程数确确实实是增加到了1 6公里 每天可以跑两次了 不过校会君觉得你应
  • Warning: Your Nexus 7 Tablet Is Not Actually a "Tablet" (But Here's How You Make It One)

    If the Nexus 7 wasn t your first Android tablet you may have noticed something different with the user interface when co
  • 将一个项目发布到Tomcat上并进行运行

    1 下载任意版本的Tomcat 我这里是9的版本 应该是当前我认为比较好用的一个版本了 有需要的话可以到公众号自取 微信公众号搜索 是短短吖 后台回复 Tomcat 即可 2 在webapp下部署一个项目Test 名字自选 英文即可 新建项
  • Python爬虫入门3:使用google浏览器获取网站访问的http信息

    前往老猿Python博客 https blog csdn net LaoYuanPython 一 开启开发者工具 为了简单处理 本次介绍的内容是基于网站已经登录的情况下去获取网页访问的http信息 首先需要使用谷歌浏览器登录指定网站 并访问
  • 分治法时间复杂度求解:主定理、代换法和递归树

    分治策略 分解 将原问题划分成形式相同的子问题 规模可以不等 对半或2 3对1 3的划分 解决 对于子问题的解决 很明显 采用的是递归求解的方式 如果子问题足够小了 就停止递归 直接求解 合并 将子问题的解合并成原问题的解 这里引出了一个如
  • error: DIV usage mismatch between xx and output

    使用NDK编译代码的时候 常常需要导入预编译库 然而使用预编译库的时候报错了 因为库文件是android源码编译出来或者是其他NDK版本产生的 库版本存在了不兼容的情况 这里明显看出DIV 函数不兼容 home u android ndk