2012-01-17 2 views
4

이 프로젝트를 컴파일하려고합니다 https://github.com/lilac/Android-ImageMagick. android-magick.so를 생성하려면 시스템에서 컴파일해야합니다. 재 작성 스크립트를 수정했으며 다음 오류가 발생합니다.android 용 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 [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 

누군가 내게 힌트를 줄 수 있습니까?

+0

나는 해결책을 찾지 못했지만, 누군가 정말로 그것을 컴파일해야한다면, libandroid-magick.so. https : //의 컴파일 된 버전을 찾을 수있다. github.com/lilac/Android-ImageMagick/blob/d28222850a95cac27477bafbc6c1b543ff6fd9cc/libs/armeabi/libandroid-magick.so 예를 실행하는 데 필요합니다. – ovonel

+1

헤더 파일이 누락 된 것처럼 보입니다 - magick/api.h 등 어디서 가져올 지, 컴파일 된 파일과 프로젝트 파일의 위치를 ​​다시 확인하십시오. "magick"이라는 디렉토리에서 해당 파일이 로컬에있을 것으로 예상됩니다. –

답변

2

수동으로 이동하여 포함 행의 모든 ​​경로를 절대 경로로 변경해야합니다. 나는 똑같은 문제가 있었고 그런 식으로 고쳤다. 이
include <magick/api.h> 또는 include "magick/api.h"
당신은 api.h 파일이 어디의 절대 경로로 변경해야합니다 말한다 곳

그래서 jmagick.c에서 예를 들어, 당신은 라인을해야합니다. /SomeFolders/Android-ImageMagick-master/Android-ImageMagick-master/ndk-modules/ImageMagick-6.7.3-0/magick 그래서 난 내이
include <C:/SomeFolders/Android-ImageMagick-master/Android-ImageMagick-master/ndk-modules/ImageMagick-6.7.3-0/magick/api.h>
에 지시를 포함 변경 그리고 당신은해야합니다 : 광산은 C에 있었다 이렇게하면 "No such file or directory"오류가 발생하는 모든 파일에서이 작업을 수행 할 수 있습니다.

일단 이러한 작업을 수행하면 실제로 디스크에 아무 것도없는 ft2build.h 헤더 파일을 요청합니다. 그래서 나는 그것에 대해 무엇을 해야할지 모르겠다. (