Mupdf库集成错误

6

我正在处理一个pdf查看器的项目。我尝试将mupdf库集成到我的项目中,但是遇到了以下错误。我已经按照readme文件中提到的所有步骤进行操作,请帮我解决这个错误。

Compile thumb : mupdf <= mupdf.c

jni/mupdf.c:10:18: fatal error: fitz.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs-debug/mupdf/mupdf.o] Error 1

我的Android.mk文件
    LOCAL_PATH := $(call my-dir)
TOP_LOCAL_PATH := $(LOCAL_PATH)

MUPDF_ROOT := $(call my-dir)

include $(TOP_LOCAL_PATH)/Core.mk
include $(TOP_LOCAL_PATH)/ThirdParty.mk

include $(CLEAR_VARS)

LOCAL_C_INCLUDES := \
    $(MUPDF_ROOT)/draw \
    $(MUPDF_ROOT)/fitz \
    $(MUPDF_ROOT)/mupdf
LOCAL_CFLAGS :=
LOCAL_MODULE    := mupdf
LOCAL_SRC_FILES := mupdf.c
LOCAL_STATIC_LIBRARIES := mupdfcore mupdfthirdparty

LOCAL_LDLIBS    := -lm -llog -ljnigraphics

include $(BUILD_SHARED_LIBRARY)

提前感谢您。


你有fitz.h文件吗? - VinceFR
是的,它位于mupdf库的fitz文件夹中。 - Maulik.J
你有一个以上的fitz.h文件吗?如果是,那么会造成歧义。 - Chintan Raghwani
你的 Android.mk 文件的 include 列表中是否包含 "$(MUPDF_ROOT)/fitz"? - VinceFR
是的,它在那里。请检查我在问题中上传的android.mk文件。 - Maulik.J
我的 MUPDF_ROOT 是 "..",而不是 "$(call my-dir)"。 - VinceFR
5个回答

6
这就是我是如何成功使用MuPDF的。
下载NDK并解压缩。 下载Cygwin并解压缩。 下载MuPDF源代码和第三方文件。
解压源代码和第三方文件,将其添加到这里。
使用Cygwin进入项目目录。
在Eclipse中打开项目,并将以下内容添加到Application.mk。
      NDK_TOOLCHAIN_VERSION=4.4.3

使用Cygwin命令制作头文件。
javah -jni -classpath bin/classes/ -d jni/ com.artifex.mupdf.MuPDFActivity

使用 cd .. 命令返回到 MupdfSource 提取目录并执行。
    make

然后出现错误。请使用。
make NOX11=yes

在Cygwin中进入项目目录(Android文件夹)并执行以下操作:

ndk-build

你只会得到.so文件。

运行项目。

对于糟糕的英语,我们表示抱歉。


非常感谢您。 真的是非常好的描述。 再次感谢。 - Vipul Purohit
1
如何执行命令:javah -jni -classpath bin/classes/ -d jni/ com.artifex.mupdf.MuPDFActivity 尝试运行,但出现错误: 错误:无法访问android.app.Activity 找不到android.app.Activity的类文件 - alezhka

1

您需要使用Cygwin运行make命令。


只需进入您下载的MuPDF中的android文件夹,然后从那里阅读README文件。 - Chintan Raghwani
运行make时出现以下错误: cp thirdparty/openjpeg-1.5.0/libopenjpeg/../opj_config.h.in.user build/debug/opj_config.h cp:无法获取“thirdparty/openjpeg-1.5.0/libopenjpeg/../opj_config.h.in.user”文件或目录 Makefile:51: 目标“build/debug/opj_config.h”的配方失败 make: *** [build/debug/opj_config.h] 错误 1 - Maulik.J

0

您应该调用./scripts/build-native.sh(对于Windows,请使用cygwin),然后运行ndk-build


如何解决这个问题。执行时出现以下提示:$ ./scripts/build-native.sh -bash: ./scripts/build-native.sh: 没有那个文件或目录 - Qadir Hussain

0
请按照以下this步骤进行操作。
同时,请注意readme文件中的步骤。

0

MUPDF_ROOT := $(call my-dir) 替换为 MUPDF_ROOT := ..


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接