【问题标题】:error in integration of mupdf librarymupdf库集成错误
【发布时间】: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 文件。

标签: android android-ndk mupdf


【解决方案1】:

您必须使用 Cygwin 运行 ma​​ke 命令。

【讨论】:

  • 进入你下载的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 时得到了这个
      猜你喜欢
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2013-07-18
      • 2013-11-12
      • 2023-03-08
      • 2016-05-11
      • 2014-03-18
      相关资源
      最近更新 更多