NDK编译mupdf1.1小记
MuPDF是一个轻量级的简易版PDF阅读器,它的功能简单,启动快速,渲染效果不错。MuPDF是免费软件,并提供了Android下的源码。
下面就是mupdf最新版1.1的编译过程。
确保已经配置好Android的NDK及C的编译环境。
1.官网下载源码和依赖库
http://code.google.com/p/mupdf/downloads/list
就是图中的source和thirdparty,点击下载。
2.解压
分别解压,然后将thirdparty解压后的目录直接拷贝到mupdf-1.1-source.tar.gz解压后的目录mupdf-1.1-source中。
注意,不要修改任何东西。
3.编译中间文件
终端进入mupdf-1.1-source,直接make
会报一些警告,但不用理会。最终会生成generated文件夹:
Opensuse 中会报fatal error: X11/extensions/XShm.h: No such file or directory
在yast->software manager中找到libxext-dev安装好就可以了。
3.用ndk编译
终端进入android目录执行ndk的编译命令
$NDK_ROOT/ndk-build
报错!
SharedLibrary : libmupdf.so
/usr/local/lib/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libmupdfcore.a(pdf_fontfile.o)(.text.pdf_lookup_builtin_font+0x18): unresolvable R_ARM_THM_CALL relocation against symbol `strcmp'
/usr/local/lib/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libmupdf.so] Error 1
google一番得知是NDK的版本问题。
解决方法:
把android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/目录下的ld文件存知别的地方(剪切走),然后创建一个软链接:
sudo ln -s ld.gold ld
这回就可以编译过了!
在libs/armeabi-v7a中就有生成好的.so.
点我直接下载
转载于:https://blog.51cto.com/8672742/1368323
NDK编译mupdf1.1小记相关推荐
- linux下静态编译mupdf,NDK编译mupdf1.1小记
MuPDF是一个轻量级的简易版PDF阅读器,它的功能简单,启动快速,渲染效果不错.MuPDF是免费软件,并提供了Android下的源码. 下面就是mupdf最新版1.1的编译过程. 确保已经配置好An ...
- android2.2编译,Android NDK编译Box2D_V2.2
如果大家有留意的话,就知道现在很流行的 愤怒的小鸟 的物理引擎是使用了Box2D,那么如何将这好东西移植到Android上呢?在网上找了一遍,发现资料还是少得可怜,于是自己研究研究一下,遇到问题就go ...
- 【Android开发】:在任意目录执行NDK编译
2019独角兽企业重金招聘Python工程师标准>>> 文以简单的例子讲述如何在任意目录把自己写的C代码使用NDK提供的交叉编译该工具来编译成Android可使用的静态库/动态库. ...
- Android开发实践:在任意目录执行NDK编译
本文暂时不讲述如何用NDK编译第三方开源代码库,而是先以简单的例子讲述如何在任意目录把自己写的C代码编译成Android可使用的静态库/动态库. 1. 准备环境 首先,你得安装了Android的NDK ...
- win10系统 ubuntu子系统 进行ndk编译笔记
报错1:error adding symbols: file in wrong format collect2: error: ld returned 1 exit status win10系统 ub ...
- NDK 编译和使用静态库、动态库
NDK 编译和使用静态库.动态库 情况一:编译静态库 情况二:编译动态库 情况三:编译动态库+静态库 情况四:已有第三方静态库(动态库),编译静态库(动态库) 默认所有代码和文件在$project/j ...
- Android Studio NDK 代码 Source Insight调试 (NDK 目前开发方案 | NDK 编译 | 导入 so 库 | 项目编码转换)
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/52088039 最近在移植一个 JNI 项目, 比较纠结, A ...
- Android NDK编译中在libs\armeabi中加入第三方so库文件的方法
Android NDK编译中在libs\armeabi中加入第三方so库文件的方法 假设要加入库文件的名字为libffmpeg.so文件 1.要在project\jni目录下新建一目录prebuilt ...
- 使用NDK编译VTK
VTK提供了对安卓的CMAKE编译支持,其介绍文件在源代码根目录下的 "/cmake/android.toolchain.cmake". 对Wndows的编译自持描述为: 注意:但 ...
- NDK编译错误expected specifier-qualifier-list before...
基于cocos2d-x在win7下开发android程序,一般都会选择先在win32下调试,等最后再在eclipse环境下安装测试到真机上.期间,要使用到cocos2d-x提供的一些简化方案进行NDK ...
最新文章
- Mysql 主从复制(AB复制)
- IE和DOM事件流、普通事件和绑定事件的区别
- Android SDCard操作(文件读写,容量计算)
- java day10(续day9)
- C语言实现Graph图的算法(附完整源码)
- sqoop导入-hdfs
- 计算机接口控制采集时序图,自动站实时数据质量控制
- Qt学习笔记-Qt5程序开机自启动(windows)
- 宕机日志怎么看 thread detail_如何快速过滤出一次请求的所有日志?
- loadrunner四大部分
- 机会是留给有准备的人
- 浅析JDK,JRE,JVM的区别
- 分布式文件系统HDFS原理篇
- oracle sql优化的几种方法
- Linux查看网卡是千兆还是万兆网卡
- ARM CMSIS 4.5.0
- python 矩阵特征值分解_特征值分解和奇异值分解
- mysql导入的数据放在那个文件夹下_mysql数据库文件导入
- matlab求基音频率,语音中提取基音频率matlab程序.doc
- parameterType和@Param注解用法
热门文章
- 昆明钟英高中2021年高考成绩查询,昆明官渡钟英中学2021年排名
- 华为鸿蒙重磅更新,华为重磅官宣!鸿蒙系统升级机型遭曝光:多达55款产品支持升级...
- oracle12c bug,12c expdp ORA-31623 -又遇到BUG
- 学生选课系统代码--分析2需求分析
- pythonATM,购物车项目实战_补充4-db模块
- python中‘configparser’的使用方法---ini文件读取方法
- docker基础4--docker的命令
- python怎么看待_如何看待将Python作为少儿编程的基础语言?
- 视觉中国被连夜约谈后再次致歉;京东高管:下一步将向总监“开刀”;华为P30价格公布 | 雷锋早报...
- Mongodb 定时备份和恢复 1