为android编译imagemagick

为android编译imagemagick,android,compilation,imagemagick,Android,Compilation,Imagemagick,我正在尝试编译这个项目。 所以我需要在我的系统上编译它。 我修改了重建脚本,并出现以下错误 Clean: MagickCore [armeabi] Clean: android-magick [armeabi] Clean: coders [armeabi] Clean: filters [armeabi] Clean: jpeg [armeabi] Clean: stdc++ [armeabi] Clean: tiff-shared [armeabi] Clean: tiff-static [

我正在尝试编译这个项目。 所以我需要在我的系统上编译它。 我修改了重建脚本,并出现以下错误

Clean: MagickCore [armeabi]
Clean: android-magick [armeabi]
Clean: coders [armeabi]
Clean: filters [armeabi]
Clean: jpeg [armeabi]
Clean: stdc++ [armeabi]
Clean: tiff-shared [armeabi]
Clean: tiff-static [armeabi]
Clean: tiffinfo [armeabi]
Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Compile thumb  : android-magick <= jmagick.c
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:7:24: error: magick/api.h: No such file or directory
In file included from /home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:8:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:4:26: error: magick/image.h: No such file or directory
In file included from /home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:8:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:26: error: expected ';', ',' or ')' before '*' token
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:131: error: expected declaration specifiers or '...' before 'RectangleInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:151: error: expected declaration specifiers or '...' before 'PixelPacket'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:165: error: expected declaration specifiers or '...' before 'Image'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:198: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.h:212: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:38: error: expected ';', ',' or ')' before '*' token
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getHandle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:150: warning: cast to pointer from integer of different size
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'setHandle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:204: warning: cast from pointer to integer of different size
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:586: error: expected declaration specifiers or '...' before 'RectangleInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getRectangle':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: 'iRect' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: (Each undeclared identifier is reported only once
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:595: error: for each function it appears in.)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:622: error: expected declaration specifiers or '...' before 'PixelPacket'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getPixelPacket':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: 'iPixelPacket' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: 'Quantum' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:637: error: expected ';' before 'red'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:638: error: expected ';' before 'green'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:639: error: expected ';' before 'blue'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:640: error: expected ';' before 'opacity'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:662: error: expected declaration specifiers or '...' before 'Image'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'newImageObject':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:684: error: 'image' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:733: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'setProfileInfo':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:746: error: 'profileInfo' undeclared (first use in this function)
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: At top level:
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:768: error: expected declaration specifiers or '...' before 'ProfileInfo'
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c: In function 'getProfileInfo':
/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/jni/jmagick.c:795: error: 'profileInfo' undeclared (first use in this function)
make: *** [/home/vita/projects/lilac-Android-ImageMagick-5f1c8b5/obj/local/armeabi/objs-debug/android-magick/jmagick.o] Fehler 1
Clean:MagickCore[armeabi]
Clean:android-magick[armeabi]
清洁:编码器[armeabi]
清洁:过滤器[armeabi]
清洁:jpeg[阿姆海比]
清洁:stdc++[armeabi]
清洁:tiff共享[armeabi]
清洁:tiff静电[armeabi]
清洁:tiffinfo[armeabi]
Gdbserver:[arm-linux-androideabi-4.4.3]libs/armeabi/Gdbserver
gdb设置:libs/armeabi/gdb.setup

编译thumb:android magick您必须手动转到并将include行中的所有路径更改为绝对路径。我也有同样的问题,并通过这种方式解决了它

例如,在jmagick.c中,您将看到一行代码,其中显示
包括
包括“magick/api.h”

您必须将其更改为api.h文件所在的绝对路径。我的文件在C:/SomeFolders/Android ImageMagick master/Android ImageMagick master/ndk modules/ImageMagick-6.7.3-0/magick中,因此我将include指令更改为
包括

您必须在所有文件中执行此操作,这些文件会出现“无此类文件或目录”错误


但是,一旦我做了这些,它就要求提供ft2build.h头文件,而实际上我的磁盘上没有这个头文件。所以我不知道该怎么办:(

我没有找到解决方案,但是如果有人真的需要编译它。在这里你可以找到libandroid-magick.so.的编译版本。这是运行示例所必需的。看起来你的头文件丢失了-magick/api.h,等等。至于从哪里获取它们,请仔细检查所有编译文件和项目文件的位置。看起来像是exp在一个名为“magick”的目录中本地检测它们。