-1

我是使用 NDK8 的新手,我想为我的 PDF 查看器项目构建 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
4

3 回答 3

1

根据您获取源副本的时间,您可能拥有一个不会在 Android 上构建的副本。昨天(9 月 6 日)有人注意到,添加一组新功能破坏了 Android 构建。自然,这很快就解决了。

我建议您从官方 Git 存储库中提取一组新的源代码,然后重试。

于 2012-09-07T07:10:00.777 回答
0

阅读我的步骤

11) //删除了一些部分

在 Windows(您使用 cygwin 的地方)或 linux/macos 上,这可以像在顶级目录中运行“make”一样简单。即使 make 过程失败,它也应该足够远来为您生成所需的“生成”目录,您可以继续执行这些说明。

12) 进入 android 目录,将local.properties 编辑 到你喜欢的编辑器中。根据需要更改那里的 sdk 路径。这应该是您唯一需要做的本地化工作。

13)进入 android 目录(注意,是 android 目录,而不是 android/jni 目录!),然后执行(在 Windows 上的 Cygwin 窗口中!):

   ndk-build

14)然后执行:

   ant debug

您可能正在运行 ndk-build 确保您位于正确的文件夹 mupdf_source/android

并且您已经执行了必须在 mupdf_source 文件夹中运行的第 11 步,从日志中我认为第 11 步有一些问题。

尝试再次运行它,然后运行 ​​ndk-build

更新:

我在 Ubuntu 上使用 r7,我可以按照说明进行编译,

  • 确保环境已设置。通过构建具有本机代码的示例应用程序进行交叉检查,示例: http: //marakana.com/forums/android/examples/49.html
  • 确保 android/local.properties.sample 已被编辑并重命名为 android/local.properties
于 2012-09-05T20:59:19.177 回答
0

看起来您缺少一些源文件或库。pdf_new_js定义了pdf_js_load_document_level和其他缺失符号的那个。

于 2012-09-05T17:31:24.690 回答