mupdf库集成错误
Posted
技术标签:
【中文标题】mupdf库集成错误【英文标题】:error in integration of mupdf library 【发布时间】:2012-08-22 23:46:19 【问题描述】:我正在处理一个必须处理 pdf 视图的项目。我正在尝试将 mupdf 库集成到我的项目中,但出现如下所述的错误。我已按照自述文件中提到的所有步骤进行操作。请帮我解决这个错误。
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 文件吗? 是的,它位于 mupdf 库的 fitz 文件夹中。 你有超过 1 个 fitz.h 吗?如果是,那么它会产生歧义。 您的 Android.mk 文件的包含列表中是否包含“$(MUPDF_ROOT)/fitz”? 是的,它就在那里。请检查我在问题中上传的 android.mk 文件。 【参考方案1】:您必须使用 Cygwin 运行 make 命令。
【讨论】:
进入你下载的mupdf中的android文件夹,从那里读取README文件。 运行 make cpthirdparty/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': No such file or directory Makethird:51: recipe for target
build /debug/opj_config.h' 失败 make: *** [build/debug/opj_config.h] 错误 1【参考方案2】:
请按照以下this步骤操作
还要注意readme文件的步骤
【讨论】:
【参考方案3】:将MUPDF_ROOT := $(call my-dir)
替换为MUPDF_ROOT := ..
【讨论】:
【参考方案4】:这就是我在 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 文件
运行项目。
抱歉英语不好。
【讨论】:
非常感谢.. 真的非常好的描述..thnx 再次 如何制作命令:javah -jni -classpath bin/classes/ -d jni/ com.artifex.mupdf.MuPDFActivity 尝试运行,但出现错误:错误:无法访问 android.app.Activity找不到 android.app.Activity 的类文件【参考方案5】:您应该调用 ./scripts/build-native.sh(对于 Windows,使用 cygwin),然后运行 ndk-build
【讨论】:
怎么做。我在执行这个 $ ./scripts/build-native.sh -bash: ./scripts/build-native.sh: No such file or directory 时得到了这个以上是关于mupdf库集成错误的主要内容,如果未能解决你的问题,请参考以下文章
集成使用 @vue/composition-api 的组件库的运行时错误:'您必须在“setup()”方法中使用此函数'