我是使用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
答案 0 :(得分:1)
根据您获取源副本的时间,您可能拥有一个不会在Android上构建的副本。昨天(9月6日)发现,添加一组新功能已经破坏了Android版本。当然,这很快得到解决。
我建议您从official Git repository中提取一组新的来源,然后重试。
答案 1 :(得分:0)
看起来你错过了一些源文件或库。 pdf_new_js
,pdf_js_load_document_level
和其他缺少符号的定义。
答案 2 :(得分:0)
阅读中的步骤
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-build以确保您位于正确的文件夹中 mupdf_source /机器人
你已经执行了第11步,你必须在mupdf_source文件夹中运行,从日志中我认为问题出在第11步。
尝试再次运行它,之后运行ndk-build
<强>更新强>
我在Ubuntu上使用r7,我只能按照说明进行编译,