【问题标题】:Error while compiling MuPDF 1.5 using Android NDK使用 Android NDK 编译 MuPDF 1.5 时出错
【发布时间】:2014-08-04 06:27:23
【问题描述】:

我在使用 Android NDK 编译新版 MuPDF 1.5 时遇到问题。 由于旧版本 1.4 存在很多错误问题,我决定升级到 1.5 版本,但不幸的是,我收到了如下所述的编译错误消息:

Android NDK:警告:jni/Android.mk:mupdfcore:对于静态库,LOCAL_LDLIBS 总是被忽略 [armeabi-v7a] 编译拇指:mupdfcore

/cygdrive/c/android-ndk-r9d/build/core/build-binary.mk:391:目标 'obj/local/armeabi-v7a/objs/mupdfcore// 的配方//source/pdf/pdf-op-run.o' 失败 制作:* [obj/local/armeabi-v7a/objs/mupdfcore////source/pdf/pdf-op-run.o] 错误1

他们大约 3 天前刚刚发布了这个新版本 1.5。有没有人面临同样的问题?我正在使用 cygwin 来“生成 make”并在平台/android 上使用 ndk 编译它。该编译曾经适用于 1.4 版,但不适用于 1.5。希望这里有人可以帮助我们。谢谢。

【问题讨论】:

  • 找到解决办法了吗?

标签: android pdf android-ndk mupdf


【解决方案1】:

没关系。我已经解决了编译问题。只需在 pdf-op-run.c 的第 1732 行添加 %s 作为参数,如下所示:

fz_throw(ctx, FZ_ERROR_GENERIC, errmess, "%s");

我的 c 代码有点生锈,但希望这可以帮助任何陷入编译代码的人。

【讨论】:

  • 在 MuPDF 新闻部分,作者声明“另一个导致显着减速的错误也已得到修复。”。我不确定他指的是什么减速,但页面渲染在某种程度上与 1.4 版相似,在我看来这没有任何区别。
【解决方案2】:

现在 mupdf 的 master 分支上修复了这个问题:

http://git.ghostscript.com/?p=mupdf.git;a=blobdiff;f=source/pdf/pdf-op-run.c;h=da881b2ef56d5c1cd9ace8a3c86f5a523bc94853;hp=2bea94b791ed341063f987171b611e377cf8ffa3;hb=77315e7139a9b412ab53a7d00cd0b019bd44b497;hpb=b2f096de23e5341fbbcd7c290f3a144423741906

最好只使用最新的 master(因为它有许多其他 Android 错误修复),但如果您需要,这是补丁:

diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c
index 2bea94b..da881b2 100644 (file)
--- a/source/pdf/pdf-op-run.c
+++ b/source/pdf/pdf-op-run.c
@@ -1729,7 +1729,7 @@ run_xobject(pdf_csi *csi, void *state, pdf_obj *resources, pdf_xobject *xobj, co

        /* Rethrow postponed errors */
        if (errmess[0])
-               fz_throw(ctx, FZ_ERROR_GENERIC, errmess);
+               fz_throw(ctx, FZ_ERROR_GENERIC, "%s", errmess);
 }

 static void pdf_run_BDC(pdf_csi *csi, void *state)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    相关资源
    最近更新 更多