我是NDK8的新手,我想为我的PDF Viewer项目构建MUPDF库,我遵循了MUPDF Reader在项目中的集成以及ReadMe.txt,我遇到了以下错误:。
Terminal Ouput
Compile thumb : mupdfthirdparty <= sfnt.c
Compile thumb : mupdfthirdparty <= truetype.c
Compile thumb : mupdfthirdparty <= type1.c
StaticLibrary : libmupdfthirdparty.a
SharedLibrary : libmupdf.so
./obj/local/armeabi/libmupdfcore.a(pdf_xref.o): In function `pdf_init_document':
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_xref.c:784: undefined reference to `pdf_new_js'
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_xref.c:785: undefined reference to `pdf_js_load_document_level'
./obj/local/armeabi/libmupdfcore.a(pdf_xref.o): In function `pdf_close_document':
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_xref.c:815: undefined reference to `pdf_drop_js'
./obj/local/armeabi/libmupdfcore.a(pdf_xref.o): In function `pdf_new_document':
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_xref.c:1298: undefined reference to `pdf_write_document'
./obj/local/armeabi/libmupdfcore.a(pdf_annot.o): In function `pdf_load_annots':
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_annot.c:371: undefined reference to `pdf_update_appearance'
/Users/durgaprasad/guna/mupdf/android/jni/../../pdf/pdf_annot.c:403: undefined reference to `pdf_field_type'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libmupdf.so] Error 1
根据您获取源代码副本的时间,您可能有一个不会在Android上构建的副本。昨天(9月6日)有人注意到,一组新功能的添加打破了Android的构建。很自然,这个问题很快就解决了。
我建议您从官方Git存储库中提取一组新的源代码,然后重试。
看起来缺少一些源文件或库。定义了pdf_new_js
、pdf_js_load_document_level
和其他缺失符号的符号。
自述中的步骤
11)//删除了部分
在windows(使用cygwin的地方)或linux/macos上,这可以只要在顶级目录中运行'make'即可。即使make过程失败了,它应该足够让您生成所需的"生成"目录,您可以继续执行这些操作说明书
12) 更改到android目录,并编辑local.properties进入您喜爱的编辑器。根据需要更改那里的sdk路径。这应该是你需要做的唯一一点本地化
13) 更改到android目录(注意,android目录,而不是android/jni目录!),并执行(在Cygwin中Windows上的窗口!):
ndk-build
14) 然后执行:
ant debug
您可能正在运行ndk构建,请确保您位于正确的文件夹中mupdf_source/android
您已经执行了步骤11,必须在mupdf_source文件夹中运行,从日志来看,我认为步骤11存在一些问题。
尝试再次运行它,然后运行ndk构建
更新:
我在Ubuntu上使用r7,我只需按照说明进行编译,
- 确保环境已设置。通过构建具有本机代码的示例应用程序进行交叉检查,例如:http://marakana.com/forums/android/examples/49.html
- 确保android/local.properties.sample已被编辑并重命名为android/local.properties