ошибка интеграции библиотеки mupdf

Я работаю над проектом, в котором мне приходится иметь дело с просмотром 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)

Заранее спасибо.


person Maulik.J    schedule 28.08.2012    source источник
comment
У вас где-нибудь есть файл fitz.h?   -  person VinceFR    schedule 28.08.2012
comment
да, он находится в папке fitz библиотеки mupdf.   -  person Maulik.J    schedule 28.08.2012
comment
У вас больше 1 фитц.ч?? Если да, то это создает двусмысленность.   -  person Chintan Raghwani    schedule 28.08.2012
comment
У вас есть $(MUPDF_ROOT)/fitz в списке включения вашего файла Android.mk?   -  person VinceFR    schedule 28.08.2012
comment
да это там. пожалуйста, проверьте мой файл android.mk, который я загрузил в своем вопросе.   -  person Maulik.J    schedule 28.08.2012
comment
мой MUPDF_ROOT - это .., а не $ (позвоните в мой каталог)   -  person VinceFR    schedule 28.08.2012


Ответы (5)


Вы должны вызвать ./scripts/build-native.sh (для Windows используйте cygwin), затем запустите ndk-build

person Tpec1k    schedule 10.02.2013
comment
как это сделать. я получаю это при выполнении этого $ ./scripts/build-native.sh -bash: ./scripts/build-native.sh: нет такого файла или каталога - person Qadir Hussain; 01.07.2014

Вот как я преуспел в 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

перейдите в каталог проекта (папка Android) в cygwin и

ndk-build

это все, что вы получаете .so файл

запустить проект.

Извините за плохой английский.

person Thushara    schedule 05.09.2012
comment
Большое спасибо .. Действительно очень хорошее описание .. еще раз спасибо - person Vipul Purohit; 05.10.2012
comment
Как сделать команду: javah -jni -classpath bin/classes/ -d jni/ com.artifex.mupdf.MuPDFActivity попытка запуска, но ошибка: Ошибка: невозможно получить доступ к файлу класса android.app.Activity для android.app.Activity не найден - person alezhka; 10.10.2012

Вы должны запустить команду make с помощью Cygwin.

person Chintan Raghwani    schedule 28.08.2012
comment
Просто перейдите в папку android в скачанном вами mupdf и прочтите оттуда файл README. - person Chintan Raghwani; 28.08.2012
comment
получить эту ошибку при запуске make cp ThirdParty/openjpeg-1.5.0/libopenjpeg/../opj_config.h.in.user build/debug/opj_config.h cp: cannot stat 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' failed make: * ** [сборка/отладка/opj_config.h] Ошибка 1 - person Maulik.J; 28.08.2012

Выполните следующие эти шаги.

также позаботьтесь о шагах файла readme

person MAC    schedule 28.08.2012

Замените MUPDF_ROOT := $(call my-dir) на MUPDF_ROOT := ..

person VinceFR    schedule 28.08.2012