
소스에서 Mac OS X EI Captain까지 GTK2를 빌드하려고 합니다. 그런데 환경변수(INCLUDE?)를 통해 에러가 발생하고 빌드를 할 수 없습니다. 제안 사항이 있으면 도와주세요.
다음 오류가 발생한 사람이 없습니까?
hash.c:111:3: 오류: 선언되지 않은 'free' 식별자를 사용했습니다. obstack_init (&htab->mem_pool); ^ ./obstack.h:294:65: 참고: 매크로 "obstack_init"에서 확장 (공백() (긴)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) ^ hash.c:53:28: 참고: 매크로 'obstack_chunk_free'에서 확장됨 #obstack_chunk_free를 무료로 정의 ^내 생각엔 gcc가 포함 파일인 malloc.h를 찾을 수 없는 것 같아요. 나는 이것이 옳다는 것을 이해하지 못합니다.
먼저 다음 패키지를 다운로드했습니다. gtk+-2.24.30, glib-2.28.0, atk-1.29.2, pango-1.20.0, gdk-pixbuf-2.21.3, gettext-0.10.40
나는 다음을 수행했습니다.
$ cd gettext-0.10.40 $ ./config $만들다그러면 다음과 같은 오류가 발생합니다.
hash.c:111:3: 오류: 선언되지 않은 'free' 식별자를 사용했습니다. obstack_init (&htab->mem_pool); ^ ./obstack.h:294:65: 참고: 매크로 "obstack_init"에서 확장 (공백() (긴)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) ^ hash.c:53:28: 참고: 매크로 'obstack_chunk_free'에서 확장됨 #obstack_chunk_free를 무료로 정의 ^ hash.c:121:3: 경고: 'free' 함수의 암시적 선언은 C99에서 유효하지 않습니다. [-W 암시적 함수 선언] free(htab->테이블); ^ 경고 1개와 오류 1개를 생성합니다.일반적인 Linux 배포판의 malloc.h는 /usr/include에 있지만 Mac OS X EI Captain의 malloc.h는 /usr/include/sys에 있습니다. 그래서 나는 다음을 수행했습니다.
$ cd gettext-0.10.40 $ env CPPFLAGS=-I/usr/include/sys ./configure $만들다그러나 동일한 오류가 발생합니다. 이건 내가 처리하기엔 너무 많은 일이다.
감사해요.