MUPDF Android最新源ndk构建错误ndk 8



我是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_jspdf_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

最新更新