簡體   English   中英

使用Android NDK編譯MuPDF 1.5時出錯

[英]Error while compiling MuPDF 1.5 using Android NDK

我在使用Android NDK編譯新版MuPDF 1.5時遇到了問題。 由於舊版本1.4上有很多bug問題,我決定升級到1.5版本,但不幸的是我收到了編譯錯誤消息,如下所述:

Android NDK:警告:jni / Android.mk:mupdfcore:靜態庫總是忽略LOCAL_LDLIBS [armeabi-v7a] Compile thumb:mupdfcore <= pdf-op-run.c jni /../../../ source /pdf/pdf-op-run.c:在函數'run_xobject'中:jni /../../../ source / pdf / pdf-op-run.c:1732:3:錯誤:格式不是字符串文字和無格式參數[-Werror = format-security] cc1.exe:某些警告被視為錯誤

/cygdrive/c/android-ndk-r9d/build/core/build-binary.mk:391:目標'obj / local / armeabi-v7a / objs / mupdfcore / / / source / pdf / pdf- op-的配方run.o'失敗了make: * [obj / local / armeabi-v7a / objs / mupdfcore / / /source/pdf/pdf-op-run.o]錯誤1

他們剛剛在3天前發布了這個新版本1.5。 有沒有人面臨同樣的問題? 我正在使用cygwin“生成make”並使用平台/ android上的ndk編譯它。 編譯過去適用於版本1.4但不適用於1.5版本。 希望有人可以幫助我們。 謝謝。

現在修復了mupdf的主分支:

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

最好只采取最新的主人(因為它有許多其他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)

沒關系。 我已經解決了編譯問題。 只需將%s作為第1732行的參數添加到pdf-op-run.c,如下所示:

fz_throw(ctx,FZ_ERROR_GENERIC,errmess,“%s”);

我的c代碼生氣,但希望這可能會幫助那些陷入編譯代碼的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM