0

经过长时间的 RND,选择了一个开源库(即 MuPDF)来创建 PDF VIEWER,​​但是从上周开始,我发现它也不是稳定版本或者不知道它到底是什么,删除错误仍然出错再次出错..,这是我公司的第 4 个项目,我完成了 3 个项目,但这一个成为瓶颈。

有人帮我吗?我真的很感谢!

  • 我已经从 Android.mk 中删除了“-ljnigraphics”作为自己的 stackoverflow 的一个答案,说它没用,所以我有,没有影响!

  • 我从 Core.mk 中删除了以下几行,因为它导致错误并且没有找到解决这些问题的任何方法,下面提到了相应的错误!!


$(MY_ROOT)/draw/draw_simple_scale.c \

错误:需要注册!


$(MY_ROOT)/pdf/pdf_cmap_table.c \

cmap_GBpc_EUC_V.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4281:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:4281:2: error: (near initialization for 'cm
ap_GBpc_EUC_V.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:4920:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4920:2: warning: (near initialization for '
cmap_GBT_EUC_H.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4921:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4922:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:4922:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:4922:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4922:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4922:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:4922:2: error: (near initialization for 'cm
ap_GBT_EUC_H.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:4923:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:4923:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:4923:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4923:2: warning: (near initialization for '
cmap_GBT_EUC_H.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4923:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:4923:2: error: (near initialization for 'cm
ap_GBT_EUC_H.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:4941:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4941:2: warning: (near initialization for '
cmap_GBT_EUC_V.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4942:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4943:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4943:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4943:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:4943:2: error: (near initialization for 'cm
ap_GBT_EUC_V.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:4944:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4944:2: warning: (near initialization for '
cmap_GBT_EUC_V.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:4944:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:4944:2: error: (near initialization for 'cm
ap_GBT_EUC_V.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:5583:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5583:2: warning: (near initialization for '
cmap_GBT_H.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5584:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5585:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:5585:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:5585:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5585:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5585:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:5585:2: error: (near initialization for 'cm
ap_GBT_H.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:5586:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:5586:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:5586:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5586:2: warning: (near initialization for '
cmap_GBT_H.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5586:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:5586:2: error: (near initialization for 'cm
ap_GBT_H.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:5604:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5604:2: warning: (near initialization for '
cmap_GBT_V.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5605:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5606:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5606:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5606:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:5606:2: error: (near initialization for 'cm
ap_GBT_V.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:5607:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5607:2: warning: (near initialization for '
cmap_GBT_V.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:5607:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:5607:2: error: (near initialization for 'cm
ap_GBT_V.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:6246:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6246:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6247:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6248:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:6248:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:6248:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6248:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6248:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:6248:2: error: (near initialization for 'cm
ap_GBTpc_EUC_H.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:6249:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:6249:2: warning: large integer implicitly t
runcated to unsigned type [-Woverflow]
jni/../../pdf/../generated/cmap_gb.h:6249:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6249:2: warning: (near initialization for '
cmap_GBTpc_EUC_H.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6249:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:6249:2: error: (near initialization for 'cm
ap_GBTpc_EUC_H.usecmap_name[9]')
jni/../../pdf/../generated/cmap_gb.h:6267:2: warning: initialization from incomp
atible pointer type [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6267:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.storable.free') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: braces around scalar initi
alizer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: excess elements in scalar
initializer [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6268:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[3]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6269:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6269:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[6]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6269:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:6269:2: error: (near initialization for 'cm
ap_GBTpc_EUC_V.usecmap_name[6]')
jni/../../pdf/../generated/cmap_gb.h:6270:2: warning: initialization makes integ
er from pointer without a cast [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6270:2: warning: (near initialization for '
cmap_GBTpc_EUC_V.usecmap_name[9]') [enabled by default]
jni/../../pdf/../generated/cmap_gb.h:6270:2: error: initializer element is not c
omputable at load time
jni/../../pdf/../generated/cmap_gb.h:6270:2: error: (near initialization for 'cm
ap_GBTpc_EUC_V.usecmap_name[9]')
In file included from jni/../../pdf/pdf_cmap_table.c:7:0:
jni/../../pdf/../generated/cmap_japan.h:5:1: error: expected '}' before 'static'

make: *** [obj/local/armeabi/objs-debug/mupdfcore/__/__/pdf/pdf_cmap_table.o] Er
ror 1

$(MY_ROOT)/pdf/pdf_fontfile.c \

jni/../../pdf/pdf_fontfile.c:11:37: fatal error: ../generated/font_droid.h: No s
uch file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs-debug/mupdfcore/__/__/pdf/pdf_fontfile.o] Erro
r 1
some file

删除上述三行(文件参考)后,我构建并收到以下错误..

静态库:libmupdfthirdparty.a
共享库:libmupdf.so

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/objs-debug/mupdf/mupdf.o: in function Java_co
m_artifex_mupdf_MuPDFCore_drawPage:jni/mupdf.c:178: error: undefined reference t
o 'AndroidBitmap_getInfo'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/objs-debug/mupdf/mupdf.o: in function Java_co
m_artifex_mupdf_MuPDFCore_drawPage:jn/mupdf.c:190: error: undefined reference t
o 'AndroidBitmap_lockPixels'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/objs-debug/mupdf/mupdf.o: in function Java_co
m_artifex_mupdf_MuPDFCore_drawPage:jni/mupdf.c:257: error: undefined reference t
o 'AndroidBitmap_unlockPixels'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(draw_device.o): in function fz
_transform_pixmap:jni/../../draw/draw_device.c:884: error: undefined reference t
o 'fz_scale_pixmap'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(draw_device.o): in function fz
_transform_pixmap:jni/../../draw/draw_device.c:908: error: undefined reference t
o 'fz_scale_pixmap'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(draw_device.o): in function fz
_transform_pixmap:jni/../../draw/draw_device.c:921: error: undefined reference t
o 'fz_scale_pixmap'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(draw_device.o): in function fz
_draw_fill_image:jni/../../draw/draw_device.c:992: error: undefined reference to
 'fz_scale_pixmap'
 
../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(pdf_font.o): in function pdf_l
oad_builtin_font:jni/../../pdf/pdf_font.c:184: error: undefined reference to 'pd
f_lookup_builtin_font'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(pdf_font.o): in function pdf_l
oad_substitute_font:jni/../../pdf/pdf_font.c:200: error: undefined reference to
'pdf_lookup_substitute_font'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(pdf_font.o): in function pdf_l
oad_substitute_cjk_font:jni/../../pdf/pdf_font.c:217: error: undefined reference
 to 'pdf_lookup_substitute_cjk_font'
 
../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(pdf_cmap_load.o): in function
pdf_load_system_cmap:jni/../../pdf/pdf_cmap_load.c:119: error: undefined referen
ce to 'pdf_load_builtin_cmap'

../Android/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/
windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androidea
bi/bin/ld.exe: ./obj/local/armeabi/libmupdfcore.a(pdf_cmap_load.o): in function
pdf_load_system_cmap:jni/../../pdf/pdf_cmap_load.c:125: error: undefined referen
ce to 'pdf_load_builtin_cmap'

collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/libmupdf.so] Error 1
4

1 回答 1

1

在我使用 R6 版本的 Android NDK 之前,我遇到了完全相同的问题。

我通过简单地将 URL 中的 'r8d' 更改为 'r6' 从 Android 网站获得它。

对于 OSX:http: //dl.google.com/android/ndk/android-ndk-r6-darwin-x86.tar.bz2

视窗:http: //dl.google.com/android/ndk/android-ndk-r6-windows.zip

Linux:http: //dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2

我希望这会有所帮助。

于 2013-01-17T23:18:44.297 回答